谈谈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去除数组中重复的元素并按键名排序函数
Aug 18 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 PHP
PHP使用OB缓存实现静态化功能示例
Mar 23 PHP
php+ajax实现商品对比功能示例
Apr 13 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
2014/05/29 PHP
php验证码生成代码
2015/11/11 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
jQuery实现简单弹幕制作
2020/12/10 jQuery
Python中实现常量(Const)功能
2015/01/28 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
基于python检查矩阵计算结果
2020/05/21 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
道德模范先进事迹
2014/02/14 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
导游词之贵州织金洞
2019/10/12 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python