我有一个php脚本,它将一个名为results.json的文件添加到我的在线服务器中,无论php脚本位于何处;
<?php
$sql=mysql_query("select * from Posts limit 20");
$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$title=$row['title'];
$url=$row['url'];
$posts[] = array('title'=> $title, 'url'=> $url);
}
$response['posts'] = $posts;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
?>
我想做的是;编辑results.json文件,或添加到其包含,而不是每次都创建一个新文件。你有什么建议?
答案 0 :(得分:2)
最简单的解决方案是将JSON文件解码回对象,然后在重写之前添加行
$response = json_decode(file_get_contents("results.json"));
$response['posts'][] = array(...);
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
答案 1 :(得分:2)
你可以做这样的事情;
$json_data = json_decode(file_get_contents('results.json'));
array_push($json_data, 'some value');
file_put_contents('results.json', json_encode($json_data));