0

我正在编写一些简单的 PHP 来接收来自另一个系统的带有 JSON 有效负载的 POST。该请求是 Content-Type: application/json。

我只是试图将 json 转储到 txt 文件中作为起点,但这并没有发生。这是PHP文件,任何建议/更正将不胜感激!

<?php
    ini_set("display_errors", "On");
    session_start();

    $raw_json = file_get_contents('php://input');
    $cooked_json = json_decode($raw_json);


    $myfile = fopen('/home/wgordon/log.txt','a');
    $fp = fwrite($myfile, $cooked_json);
    fclose($myfile);

?>

4

1 回答 1

2

从外观上看,$raw_json 的初始值将是一个字符串。当您尝试将其作为数组访问时,您只会得到一个较小的字符串。当你将它传递给 json_decode 时,它​​可能会返回 null。

您需要检查 $raw_json 的第一个值。如果它以名称/值对的查询字符串的形式出现,则需要对其进行解码(使用 split() 或类似的东西),然后才能将其视为数组

于 2012-11-19T03:36:19.743 回答