今天做微信消息转发到接口的时候,一直收不到POST过来的数据,后来想到用 php://input 来试试,于是就收到了 微信接口转发过来的xml数据!
我们看看介绍 php://input
$_POST 与 php教程://input可以取到值,$HTTP_RAW_POST_DATA 为空
$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换
php://input 也可以实现此这个功能可以获得POST的原始数据。
php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype=”multipart/form-data”。
测试代码:
1 2 3 4 5 6 7 |
public function index(){ if (IS_POST) { $raw_post_data = file_get_contents('php://input', 'r'); Setlog('wished.json',$raw_post_data); $result = $this->SendMail('iyahe@qq.com','来数据了.',$raw_post_data,'天明','微韵微信平台'); } } |