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 相关文章推荐
让你同时上传 1000 个文件 (一)
Oct 09 PHP
php仿ZOL分页类代码
Oct 02 PHP
PHP 中执行排序与 MySQL 中排序
Apr 21 PHP
第五章 php数组操作
Dec 30 PHP
php实现单链表的实例代码
Mar 22 PHP
PHP 线程安全与非线程安全版本的区别深入解析
Aug 06 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
ThinkPHP模板引擎之导入资源文件方法详解
Jun 18 PHP
php银联网页支付实现方法
Mar 04 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
php中引用符号(&amp;)的使用详细介绍
Dec 06 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php代码书写习惯优化小结
2013/06/20 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
2019/11/23 PHP
js null undefined 空区别说明
2010/06/13 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
2017/12/11 jQuery
vue2 前端搜索实现示例
2018/02/26 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
Python函数学习笔记
2008/10/07 Python
python三元运算符实现方法
2013/12/17 Python
解析Python中的异常处理
2015/04/28 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
python实现udp传输图片功能
2020/03/20 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
2020/06/23 Python
解决html5中的video标签ios系统中无法播放使用的问题
2020/08/10 HTML / CSS
2014年师德师风学习材料
2014/05/16 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
党员个人对照检查材料
2014/10/01 职场文书
合伙购房协议样本
2014/10/06 职场文书
金陵十三钗观后感
2015/06/04 职场文书
离婚协议书范文2016
2016/03/18 职场文书
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
2021/05/24 Python
MySQL数据库 安全管理
2022/05/06 MySQL