访问原始PHP POST数据中的变量

时间:2012-10-01 21:31:37

标签: php post

  

可能重复:
  Parse Json in php

我正在使用一个API,当用户执行操作时,该API会向我的PHP脚本发送POST请求。我可以轻松地将原始POST数据记录到文件中,例如:

$rawPostData = file_get_contents('php://input');
$all = date("F j, Y, g:i a") . " " . $rawPostData . "\r\n";
file_put_contents("Activity.log", $all, FILE_APPEND);

将此内容写入日志文件:

October 1, 2012, 12:34 pm [{"changed_aspect": "media", "subscription_id": 2421759, "object": "user", "object_id": "931456", "time": 1349120084}]

我唯一感兴趣的是object_id值。如何在原始POST数据中访问此值?我尝试了很多,并在一些论坛上寻找解决方案。这似乎很简单,但我似乎无法得到它。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您的帖子数据是JSON,因此请使用json_decode将其转换为包含对象的数组并访问object_id属性

$rawPostData = file_get_contents('php://input');
$json = json_decode($rawPostData);
$json = $json[0];
$all = date("F j, Y, g:i a") . " " . $json->object_id. "\r\n";
file_put_contents("Activity.log", $all, FILE_APPEND);

答案 1 :(得分:0)

返回的数据是json:

$data = json_decode(file_get_contents('php://input'));
foreach($data as $obj) {
    echo $obj->object_id;
}