使用PHP将JSON数组记录到文本文件中

时间:2014-02-02 03:24:51

标签: php arrays json

请善待你的答案,我是JSON和PHP的新手,非常感谢任何正确方向的推动。

到目前为止,我已经使用以下代码创建了一个php文件

$data = print_r($_POST, TRUE); 
file_put_contents('api3.txt', $data);

捕获POST消息并将其保存到文件api3.txt。根据我的理解,JSON数组不会在POST消息中发送,这意味着我应该使用类似

的内容
$jsonString = json_decode(file_get_contents("php://input");
$myFile = "01010.txt";
file_put_contents($myFile,$jsonString);

此代码基于查看其他类似的SO问题但是我遇到了一些问题,并且没有收到任何已保存的内容到该文本文件。我对JSON数据的唯一了解就是它在数组中并且它被发送到我的php脚本(不是从文件或页面读取)。

非常感谢任何帮助!

由于


以下代码生成了包含1

的work.txt文本文件
<?php
header('realtimeapi_code: #####');
$jsonString = file_get_contents("php://input");
$data = print_r($jsonString);
file_put_contents('work.txt',$data);
?>

标头中的第一行是验证所必需的。

1 个答案:

答案 0 :(得分:0)

它是json_encode(),json_decode()和urlencode()的组合。

POST

// encode PHP array to JSON
$data = json_encode(array("something"=>array("key"=>"val")));
// urlencode it for sending via POST
$data = urlencode($data);

RECEIVE

$dataEncodedJSON = $_POST['yourDataField'];
$data = json_decode( urldecode( $dataEncodedJSON), true);
var_dump($data, true);

你可能会侥幸逃脱:

$json_array = json_decode(file_get_contents('http://api.website.com/'), true);