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 相关文章推荐
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
PHP经典实用正则表达式小结
May 04 PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
Dec 05 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
2011/08/23 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
列举Python中吸引人的一些特性
2015/04/09 Python
python3安装speech语音模块的方法
2018/12/24 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
超简单的Python HTTP服务
2019/07/22 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
pycharm修改file type方式
2019/11/19 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
Python实现爬取并分析电商评论
2020/06/19 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
电气个人求职信范文
2014/02/04 职场文书
教师个人鉴定材料
2014/02/08 职场文书
市级文明单位申报材料
2014/05/07 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫