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 相关文章推荐
PHP 删除一个目录及目录下的所有文件的函数代码
May 26 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
php 操作调试的方法
Jul 12 PHP
探讨php define()函数及defined()函数使用详解
Jun 09 PHP
浅析Mysql 数据回滚错误的解决方法
Aug 05 PHP
PHP中数组定义的几种方法
Sep 01 PHP
php实现模拟post请求用法实例
Jul 11 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
laravel按天、按小时,查询数据的实例
Oct 09 PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 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
Protoss兵种对照表
2020/03/14 星际争霸
JavaScript XML操作 封装类
2009/07/01 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
AngularJS 实现弹性盒子布局的方法
2016/08/30 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
微信小程序 POST请求的实例详解
2017/09/29 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
使用Python对MySQL数据操作
2017/04/06 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
市场营销专科应届生求职信
2013/11/24 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
成语的广告词
2014/03/19 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
志愿者个人总结
2015/03/03 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers
ipad隐藏软件app图标方法
2022/04/19 数码科技