免责声明:我对PHP非常不熟悉。我看到在Stack附近浮动的答案似乎不适用于我的情况。这可能是由于我不熟悉。
我需要写入JSON文件中的现有数组:
[
[
// data should be written to this array
],
[]
]
我的PHP看起来像这样:
<?php
$ip = $_POST["ip"];
$likes = "../data/likes.json";
$fp = fopen($likes, "a");
fwrite($fp, json_encode($ip) . ", ");
fclose($fp);
?>
当PHP运行时,它会像这样写入文件的末尾(正如您所期望的那样):
[
[
],
[]
]"data",
如何解析我的PHP?
答案 0 :(得分:1)
打开文件:
$filename = '../data/likes.json'
$fp = fopen($filename, 'r');
然后将现有数据结构读入变量:
$data = json_decode(fread($fp, filesize($filename)));
将数据添加到正确的数组条目中:
$data[0][] = $ip;
使用写权限关闭并重新打开文件,以便覆盖其内容:
fclose($fp);
$fp = fopen($filename, 'w');
并编写新的JSON:
fwrite($fp, json_encode($data));
答案 1 :(得分:0)
$ip = $_POST["ip"];
$likes = json_decode(file_get_contents("../data/likes.json"), true);
$likes[] = $ip;
file_put_contents("../data/likes.json", json_encode($likes));
你不能完全添加记录到文件并获得有效的json jbject。 那么代码的想法: 我们从文件中读取所有内容,使用新数据附加数组,并使用新数据重写文件