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 相关文章推荐
php.ini中文版
Oct 09 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
php curl模拟post提交数据示例
Dec 31 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
浅谈PHP中output_buffering
Jul 13 PHP
Zend Framework实现多服务器共享SESSION数据的方法
Mar 22 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
php app支付宝回调(异步通知)详解
Jul 25 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.vs.JAVA
2016/04/29 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
javascript 年月日联动实现核心代码
2009/12/21 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
phantomjs导出html到pdf的方法总结
2017/10/19 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
vue-better-scroll 的使用实例代码详解
2018/12/03 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
python实现猜数字小游戏
2020/03/24 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
python list转置和前后反转的例子
2019/08/26 Python
python读取word 中指定位置的表格及表格数据
2019/10/23 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
《逃家小兔》教学反思
2014/02/23 职场文书
布达拉宫的导游词
2015/02/02 职场文书
公司欠款证明
2015/06/24 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js