谈谈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边学边教》(04.编写简易的通讯录――视频教程1)
Dec 13 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
PHP操作xml代码
Jun 17 PHP
解决PHP超大文件下载,断点续传下载的方法详解
Jun 06 PHP
解析php中curl_multi的应用
Jul 17 PHP
php发送邮件的问题详解
Jun 22 PHP
php经典算法集锦
Nov 14 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
Dec 15 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
Mar 03 PHP
Yii框架用户登录session丢失问题解决方法
Jan 07 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
详解Go与PHP的语法对比
May 29 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 mysql数据库操作类
2008/06/04 PHP
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
PHP的基本常识小结
2013/07/05 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
thinkPHP实现签到功能的方法
2017/03/15 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
yepnope.js 异步加载资源文件
2011/09/08 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
理解javascript正则表达式
2016/03/08 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Python可迭代对象操作示例
2019/05/07 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
Python安装Bs4的多种方法
2020/11/28 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
购买原创艺术品:Zatista
2019/11/09 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
盛大笔试题
2016/11/05 面试题
农村改厕实施方案
2014/03/22 职场文书
临床医学专业求职信
2014/08/08 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
特此通知格式
2015/04/27 职场文书