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.NET的入门教程
Oct 09 PHP
php读取数据库信息的几种方法
May 24 PHP
php adodb分页实现代码
Mar 19 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
PHP版微信小店接口开发实例
Nov 12 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 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
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
2014/08/21 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
PHP实现浏览器格式化显示XML的方法示例
2019/01/22 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
jQuery实现背景滑动菜单
2016/12/02 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
简单介绍Python中的readline()方法的使用
2015/05/24 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
django静态文件加载的方法
2018/05/20 Python
Python实现不规则图形填充的思路
2020/02/02 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
好家长事迹材料
2014/01/23 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
二胎满月酒致辞
2015/07/29 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
Django如何与Ajax交互
2021/04/29 Python
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android