对于将xml格式数据转换成array数据,很多初学者应该都不知道,那么今天就来为大家分析解答一下吧。
PHP中的$_POST和file_get_content('php://input')
$_POST
老规矩,查看官方文档,全世界都会骗你,但是文档不会骗你。
$HTTP_POST_VARS [已弃用]$_POST -- $HTTP_POST_VARS [已弃用] — HTTP POST 变量当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。$HTTP_POST_VARS 包含相同的信息,但它不是一个超全局变量。 (注意 $HTTP_POST_VARS 和 $_POST 是不同的变量,PHP 处理它们的方式不同)
一看文档就知道全部信息了,$_POST支持的request中的header中的content-type的类型只有application/x-www-form-urlencoded 或 multipart/form-data 。
当我们使用guzzle的时候它会根据你传入的params是否是数组进行判断,如果不是数组会在body中。但是如果是数组它就会按照json方式进行传递,content-type会application/json的方式当然不会被$_POST进行处理。所以,这边是没有毛病的。但是,难道因为用了这个组件就不进行这个类型处理了吗?显然不行。
php://input
php:// — 访问各个输入/输出流(I/O streams)PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过