谈谈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 session常见问题集锦及解决办法总结
Mar 18 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
php 生成文字png图片的代码
Apr 17 PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
php设计模式之委托模式
Feb 13 PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 PHP
浅析PHP7的多进程及实例源码
Apr 14 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实现的在线人员函数库
2008/04/09 PHP
Php Cookie的一个使用注意点
2008/11/08 PHP
PHP 命名空间实例说明
2011/01/27 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
php并发加锁示例
2016/10/17 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
JQuery与JSon实现的无刷新分页代码
2011/09/13 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
2018/07/13 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
python中安装模块包版本冲突问题的解决
2017/05/02 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
春季运动会广播稿大全
2014/02/19 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
年终考核实施方案
2014/05/26 职场文书
找工作求职信
2014/07/07 职场文书
学校捐款活动总结
2015/05/09 职场文书
深入理解python多线程编程
2021/04/18 Python
Java无向树分析 实现最小高度树
2022/04/09 Javascript
SQL Server中使用表变量和临时表
2022/05/20 SQL Server