PHP中php://input 和$_POST的区别

来源:互联网 发布:埃文蕾切尔伍德 知乎 编辑:程序博客网 时间:2024/05/17 06:32

简单记录:

1.php://input无法读取enctype=multipart/form-data数据。只有Coentent-Type不为multipart/form-data的时候,PHP不会将http请求数据包中的相应数据填入php://input,否则其它情况都会。填入的长度,由Coentent-Length指定。

2.仅当Content-Type为application/x-www-form-urlencoded且提交方法是POST方法时,$_POST数据与php://input数据才是”一致”(打上引号,表示它们格式不一致,内容一致)的。其它情况,它们都不一致。

3.php://input读取不到$_GET数据。是因为$_GET数据作为query_path写在http请求头部(header)的PATH字段,而不是写在http请求的body部分。

4.php://input数据总是跟$HTTP_RAW_POST_DATA相同,但是php://input比$HTTP_RAW_POST_DATA更凑效,且不需要特殊设置php.ini

5.PHP会将PATH字段的query_path部分,填入全局变量$_GET。通常情况下,GET方法提交的http请求,body为空。

更详细内容请参考:http://blog.csdn.net/gs_zhaoyang/article/details/8784359

0 0