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制作图型计数器的例子
Oct 09 PHP
如何实现给定日期的若干天以后的日期
Oct 09 PHP
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
PHP之数组学习
May 29 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
Jul 18 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
php对接java现实加签验签的实例
Nov 25 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
php防盗链的常用方法小结
2010/07/02 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
jquery 获取json数据实现代码
2009/04/27 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
深入浅析Vue组件开发
2016/11/25 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
详解小程序设置缓存并且不覆盖原有数据
2019/04/15 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
python模拟鼠标拖动操作的方法
2015/03/11 Python
python简单程序读取串口信息的方法
2015/03/13 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
Aosom西班牙:家具在线商店
2020/06/11 全球购物
工伤认定行政答辩状
2015/05/22 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js