PHP输入输出流学习笔记


Posted in PHP onMay 12, 2015

PHP输入和输出流是通过php://来访问的,它允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。
php://stdin, php://stdout 和 php://stderr
php://stdin,php://stdout 和 php://stderr允许访问 PHP 进程相应的输入或者输出流。
php://input
php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA(原生的post数据),因为它不依赖于特定的 php.ini 指令,内存消耗更少。如下例:

<form action="" method="post">
  <input type="text" name="test" > <input type="submit" name="" />
</form>
<?php
  echo file_get_contents("php://input");
?>

PHP输入输出流学习笔记

结果:

php://output
php://output 是一个只写的数据流, 允许你以 print 和 echo 一样的方式 写入到输出缓冲区。
php://fd
php://fd 允许直接访问指定的文件描述符。 例如 php://fd/3 引用了文件描述符 3。
php://memory 和 php://temp
php://memory 和 php://temp 是一个类似文件 包装器的数据流,允许读写临时数据。 两者的唯一区别是 php://memory 总是把数据储存在内存中, 而 php://temp 会在内存量达到预定义的限制后(默认是 2MB)存入临时文件中。 临时文件位置的决定和 sys_get_temp_dir() 的方式一致。
php://filter
php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。参数如下:

PHP输入输出流学习笔记

如下例:

<?php
/* 这会以大写字母输出 3water.com 的全部内容 */
readfile("php://filter/read=string.toupper/resource=https://3water.com");
?>
PHP 相关文章推荐
使用数据库保存session的方法
Oct 09 PHP
PHP调用Twitter的RSS的实现代码
Mar 10 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
PHP以mysqli方式连接类完整代码实例
Jul 15 PHP
yii操作session实例简介
Jul 31 PHP
写一段简单的PHP建立文件夹代码
Jan 06 PHP
php从给定url获取文件扩展名的方法
Mar 14 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 #PHP
php中get_defined_constants函数用法实例分析
May 12 #PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 #PHP
php遍历类中包含的所有元素的方法
May 12 #PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 #PHP
php实现每天自动变换随机问候语的方法
May 12 #PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
May 12 #PHP
You might like
win7安装php框架Yii的方法
2016/01/25 PHP
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
被遗忘的javascript的slice() 方法
2015/04/20 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
不能不知道的10个angularjs英文学习网站
2016/03/23 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
Python数据类型学习笔记
2016/01/13 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
利用python开发app实战的方法
2019/07/09 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
怎么快速自学python
2020/06/22 Python
Python 如何查找特定类型文件
2020/08/17 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
在c#中using和new这两个关键字有什么意义
2013/05/19 面试题
毕业生自荐书
2013/12/18 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python