php输入流php://input使用浅析


Posted in PHP onSeptember 02, 2014

在做一个摄像头拍照然后上传的功能,php中使用php://input来获取内容。于是就了解了下php://input。

从官网信息来看,php://input是一个只读信息流,当请求方式是post的,并且enctype不等于”multipart/form-data”时,可以使用php://input来获取原始请求的数据。

看一个简单的例子。

客户端就是一个表单,非常简单。

<form action="" method="POST">

    name: <input type="text" name="name" value="tom" /><br />

    age:<input type="text" name="age" value="22" /><br />

    <input type="submit" value="Submit" />

</form>

将表单提交到服务端,服务端使用file_get_contents获取php://input内容
$content = file_get_contents("php://input");

echo $content; //输出name=tom&age=22

官网关于php://input的说明中,反复有提到$HTTP_RAW_POST_DATA这个变量,这个变量其实和 file_get_contents(php://input)的内容是一样的。如果要开启这个变量,需要修改配置文件,找到 always_populate_raw_post_data这个选项,设置为On,然后重新启动web服务器,就可以了。而使用php://input 不需要修改php配置文件。

在项目应用中,如摄像头拍照,上传保存,就可以用到php://input。客户端拍照后,把图片流传送到服务端,服务端使用file_get_getcontents(‘php://input')就能获取到图片流,然后把图片流保存到一个文件,这个文件就是图片了。

PHP 相关文章推荐
Discuz 模板语句分析及知识技巧
Aug 21 PHP
求PHP数组最大值,最小值的代码
Oct 31 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
Thinkphp中的curd应用实用要点
Jan 04 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
thinkPHP下ueditor的使用方法详解
Dec 26 PHP
mysql查找删除重复数据并只保留一条实例详解
Sep 24 PHP
php数据序列化测试实例详解
Aug 12 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 #PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 #PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 #PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 #PHP
重新认识php array_merge函数
Aug 31 #PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 #PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
Aug 28 #PHP
You might like
php 过滤危险html代码
2009/06/29 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
jquery实现点击弹出层效果的简单实例
2014/03/03 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
2020/02/05 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
Django 限制访问频率的思路详解
2019/12/24 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
shell程序中如何注释
2012/02/17 面试题
手机业务员岗位职责
2013/12/13 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
写求职信有什么意义
2014/02/17 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
最常使用的求职信
2014/05/25 职场文书
学生党员一帮一活动总结
2014/07/08 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2015年商场工作总结
2015/04/27 职场文书
观后感格式
2015/06/19 职场文书
windows server2008 开启端口的实现方法
2022/06/25 Servers