对于使用GET请求,我们可以查询字符串转换成串串,
parse_str($_SERVER['QUERY_STRING']);
但对于POST方法上面的方法不起作用。是否有另一种方法可以对字符串进行后期查询。
对于使用GET请求,我们可以查询字符串转换成串串,
parse_str($_SERVER['QUERY_STRING']);
但对于POST方法上面的方法不起作用。是否有另一种方法可以对字符串进行后期查询。
除非您从命令行运行PHP,否则PHP将使用解析的查询值和相应的帖子正文值来填充superglobal arrays$_GET
和$_POST
(以及其他)。它会自动执行此操作,所以没有任何理由说明为什么你会在查询字符串上显示parse_str
。
使用application/x-www-form-urlencoded
multipart/form-data
或作为在请求中的HTTP内容类型时引用传递给经由HTTP POST方法的当前脚本变量的PHP Manual for $_POST
的数组。
这是访问POST数据的首选方式。但是,您也可以访问原始文章主体via the php://input
stream or $HTTP_RAW_POST_DATA
(后者在PHP 5.6.0中已弃用,并且从PHP 7.0.0起删除)。
引述PHP Manual on input streams:
php://input
是一个只读流,允许你从请求主体读的原始数据。在POST请求的情况下,最好使用php://input
而不是$HTTP_RAW_POST_DATA
,因为它不依赖于特殊的php.ini指令。此外,对于默认情况下未填充$HTTP_RAW_POST_DATA
的情况,这是激活always_populate_raw_post_data
的潜在更少内存密集型替代方案。php://input
不适用于enctype="multipart/form-data"
。
POST数据在'$ _POST'中。 – paskl
'json_encode($ _ REQUEST)'会让你获得json序列化的get,post和cookie参数。 –
@vp_arth http://stackoverflow.com/a/2143042/208809 – Gordon