方法一,$_POST
$_POST或$_REQUEST用key = >:value形式的格式化数据存储PHP。
方法二,使用file _ get _ contents(" PHP://input ")
您可以对POST数据使用file _ get _ contents ("PHP://input "),而无需指定Content-Type;来获取原始数据。
实际上,这个方法是用来用PHP接收POST的任何数据的。不管内容类型如何,包含二进制文件流也是可行的。
与$HTTP_RAW_POST_DATA相比,它对内存的压力更小,不需要任何特殊的php.ini设置。
Php://input无法读取内容类型为multipart/form-data的POST数据。需要将php.ini中的
always _ populate _ raw _ post _ data的值设置为On。
Php://input无法读取$_GET数据。因为$_GET数据是作为query_PATH写在http请求头的PATH字段中,而不是写在http请求的正文部分。
方法3,使用全局变量$ globals[' http _ raw _ post _ data ']
存储在$ globals ['http _ raw _ POST _ data']中的是来自POST的原始数据。
但是,文章数据是否保存在$ globals ['http _ raw _ POST _ data']中取决于centent-Type的设置。只有当PHP有一个不可识别的内容类型时,文章数据才会按原样填充到变量$ globals ['http _ raw _ post _ data']中。当content-type =
application/x-***-form-urlencoded时,变量为空。
另外,它不能读取Content-Type为multipart/form-data的POST数据,还需要将php.ini中的
always _ populate _ raw _ POST _ data的值设置为on,这样php就会始终将POST数据填充到变量$http_raw_post_data中。
本文来自秦楚殇投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/639366.html