谈谈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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
检测png图片是否完整的php代码
Sep 06 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
PHP比你想象的好得多
Nov 27 PHP
PHP 微信支付类 demo
Nov 30 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
YII分模块加载路由的实现方法
Oct 01 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
Oct 31 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 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下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
web性能优化之javascript性能调优
2012/12/28 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
小程序最新获取用户昵称和头像的方法总结
2019/09/23 Javascript
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
PyQt5响应回车事件的方法
2019/06/25 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
Python列表list操作相关知识小结
2020/01/29 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
法国房车租赁网站:Yescapa
2019/08/26 全球购物
个人求职信范文分享
2014/01/06 职场文书
国贸专业的职业规划范文
2014/01/23 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
化学教育专业自荐信
2014/07/04 职场文书
护士求职信
2014/07/05 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
2014年学生工作总结
2014/11/20 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang