谈谈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 相关文章推荐
php 删除记录实现代码
Mar 12 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
PHP include_path设置技巧分享
Jul 03 PHP
解析php中die(),exit(),return的区别
Jun 20 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
如何使用php输出时间格式
Aug 31 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
php通过session防url攻击方法
Dec 10 PHP
php中mail函数发送邮件失败的解决方法
Dec 24 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 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
FCKeditor的安装(PHP)
2007/01/13 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
php短址转换实现方法
2015/02/25 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
2016/12/15 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
2013/01/27 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
jsTree事件和交互以及插件plugins详解
2017/08/29 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
华三通信H3C面试题
2015/05/15 面试题
门前三包责任书
2014/04/15 职场文书
目标责任书格式
2014/07/28 职场文书
光学与应用专业毕业生求职信
2014/09/01 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
民用住房租房协议书
2014/10/29 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
新闻通讯稿模板
2015/07/22 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android