谈谈PHP的输入输出流


Posted in PHP onFebruary 14, 2007

今天有人再PHPCHINA上问我关于PHP传XML怎么做?,再上面已经给出了相应的解决方法。顺便谈谈PHP的输入输出流。

   今天暑假在公司的时候,恰好同事使用flash打造流媒体的时候,需要使用PHP读取FLASH传递过来的媒体信息(也是XML格式),在那个时候我也熟悉了PHP的基本输入输出流原理。

   手册上说:

PHP 3.0.13 及以上版本,自 PHP 4.3.0 起支持 php://output 和 php://input,自 PHP 5.0.0 起支持 php://filter。 

php://stdin

php://stdout

php://stderr

php://output

php://input

php://filter

php://stdin,php://stdout 和 php://stderr 允许访问 PHP 进程相应的输入或者输出流。 

php://output 允许向输出缓冲机制写入数据,和 print() 与 echo() 的方式相同。 

php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。 

php://stdin 和 php://input 是只读的,同时 php://stdout,php://stderr 和 php://output 是只写的。 

php://filter 是一种设计用来允许过滤器程序在打开时成为流的封装协议。这对于单独具有完整功能的文件函数例如 readfile(),file() 和 file_get_contents() 很有用,否则就没有机会在读取内容之前将过滤器应用于流之上。 

   也就是说post的原始数据是保存在一个叫php://input的文件。你可以通过简单的文件操作读取里面的数据来控制。

$data=file_get_contents(’php://input’); 

PHP 相关文章推荐
第五节--克隆
Nov 16 PHP
php header()函数使用说明
Jul 10 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
基于initPHP的框架介绍
Apr 18 PHP
获取PHP警告错误信息的解决方法
Jun 03 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
php ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
php编程中echo用逗号和用点号连接的区别
Mar 26 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
PHP使用file_get_contents发送http请求功能简单示例
Apr 29 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
修改了一个很不错的php验证码(支持中文)
Feb 14 #PHP
PHP数据缓存技术
Feb 14 #PHP
再次研究下cache_lite
Feb 14 #PHP
cache_lite试用
Feb 14 #PHP
一个捕获函数输出的函数
Feb 14 #PHP
模拟flock实现文件锁定
Feb 14 #PHP
回答PHPCHINA上的几个问题:URL映射
Feb 14 #PHP
You might like
PHP数组实例详解
2016/06/26 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
JavaScript库 开发规则
2009/01/31 Javascript
JS模块与命名空间的介绍
2013/03/22 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
Python中的面向对象编程详解(下)
2015/04/13 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
详解Python3的TFTP文件传输
2018/06/26 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
python 简单的调用有道翻译
2020/11/25 Python
python中reload重载实例用法
2020/12/15 Python
Solaris操作系统的线程机制
2012/12/23 面试题
电信专业应届生自荐信
2013/09/28 职场文书
电子商务专员岗位职责
2013/12/11 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
检讨书怎么写
2015/05/07 职场文书
环保主题班会教案
2015/08/13 职场文书
《草船借箭》教学反思
2016/02/23 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
使用php的mail()函数实现发送邮件功能
2021/06/03 PHP
Nginx实现会话保持的两种方式
2022/03/18 Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers
css3 文字断裂效果
2022/04/22 HTML / CSS