$_POST接受不到页面传值,此时可以用php://input来接收.
$http_raw_post_data是PHP内置的一个全局变量.它用于PHP在无法识别Content-Type的情况下
将POST传递过来的数据原样地填入$http_raw_post_data.
它同样无法接收Content-Type为multipart/form-data的POST数据
需要设置php.ini中的always_populate_raw_post_data值为On
PHP才会总把POST数据填入变量$http_raw_post_data
然后$_POST以关联数组的方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换
php://input 通过输入流文件读取方式取得未经处理的POST原始数据
php://input 允许读取POST的原始数据.
相比于$HTTP_RAW_POST_DATA,php://input给内存带来的压力较小,且不需要任何php.ini设置
php://input不适用于enctype=”multipart/form-data”
php://input读取不到任何$_GET数据.因为$_GET数据作为query_path写在http请求头部(header)在PATH字段,而不是写在请求的body部分.
本文详细介绍了PHP中接收POST数据的方法,包括使用$http_raw_post_data和php://input的区别及应用场景。探讨了如何处理不同Content-Type的数据,特别是multipart/form-data类型,并解释了php.ini配置项always_populate_raw_post_data的作用。
4848

被折叠的 条评论
为什么被折叠?



