在我们做微信开发的时候,我们客户端向服务端发送的数据是xml格式的数据,不能用$_POST获取数据。这种情况下只能用$HTTP_RAW_POST_DATA或则
php://input来获取数据
实例:定义变量$content 为我们要接收的xml数据
// $HTTP_RAW_POST_DATA 用法
$content = $HTTP_RAW_POST_DATA;
// php://input用法
$content = file_get_contents("php://input");
实际应用上我们会选择使用 php://input 来获取xml等格式数据。
理由如下:
1:$HTTP_RAW_POST_DATA依赖于php.ini文件中对于always_populate_raw_post_data参数的配置为开启On
2: $HTTP_RAW_POST_DATA已在php5.6版本中废弃(微信开发中使用php版本不当会遇该问题)
3: 使用php://input比激活 always_populate_raw_post_data 潜在需要更少的内存
综上理由,使用php://input来获取xml等格式数据更为合理。
|
|