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 相关文章推荐
global.php
Dec 09 PHP
php生成文件
Jan 15 PHP
PHP实现用户认证及管理完全源码
Mar 11 PHP
56.com视频采集接口程序(PHP)
Sep 22 PHP
PHP使用数组实现队列
Feb 05 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
用 Composer构建自己的 PHP 框架之基础准备
Oct 30 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
Nov 12 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
Sep 04 PHP
PHP中strval()函数实例用法
Jun 07 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实现小型站点广告管理
2006/10/09 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
PHP 数组黑名单/白名单实例代码详解
2019/06/04 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
表单的焦点顺序tabindex和对应enter键提交
2013/01/04 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
2013/07/31 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
jQuery实现简单的tab标签页效果
2016/09/12 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
vue实现通讯录功能
2018/07/14 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
python创建列表并给列表赋初始值的方法
2015/07/28 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
python定向爬取淘宝商品价格
2018/02/27 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python看某个模块的版本方法
2018/10/16 Python
Python和Anaconda和Pycharm安装教程图文详解
2020/02/04 Python
python的json包位置及用法总结
2020/06/21 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
python打开音乐文件的实例方法
2020/07/21 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
生物技术毕业生自荐信
2013/10/23 职场文书
升国旗演讲稿
2014/09/05 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS