谈谈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极大的增强功能和性能
Oct 09 PHP
在线短消息收发的程序,不用数据库
Oct 09 PHP
smarty实例教程
Nov 19 PHP
PHP的可变变量名的使用方法分享
Feb 05 PHP
PHP 中关于ord($str)>0x80的详细说明
Sep 23 PHP
分享一个Laravel好用的Cache宏
Mar 02 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
深入理解PHP中的count函数
May 31 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 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
phpfans留言版用到的install.php
2007/01/04 PHP
php 在线打包_支持子目录
2008/06/28 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
php批量删除操作代码分享
2017/02/26 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
浅谈Angularjs中不同类型的双向数据绑定
2018/07/16 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
微信小程序实现留言板
2018/10/31 Javascript
python中循环语句while用法实例
2015/05/16 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
python中的tcp示例详解
2018/12/09 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
python 用Matplotlib作图中有多个Y轴
2020/11/28 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
今冬明春火灾防控工作方案
2014/05/29 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
电工实训心得体会
2016/01/14 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书