防止覆盖文件

时间:2014-02-14 17:06:17

标签: php ajax json

文件json有问题

http://jsfiddle.net/XLkqH/

我的代码和我的代码php在这里:

<?php
   $json = $_POST['json'];

   /* sanity check */
     $file = fopen('../js/json/nameplaylist.json','w+');
     fwrite($file, $json);
     fclose($file);

?>

我需要在保存名称时,我无法覆盖整个文件sinuses,我将其添加到列表的末尾,然后将其显示在选择

解决:

<?php
$in_array = json_decode($_POST['json'], true);
$file_array = json_decode(file_get_contents('../js/json/nameplaylist.json'), true);
$new_array = array_merge($file_array, $in_array);
file_put_contents('../js/json/nameplaylist.json', json_encode($new_array));
?>

1 个答案:

答案 0 :(得分:0)

我认为这就是你想要的:

$in_array = json_decode($_POST['json'], true);
$file_array = json_decode(file_get_contents('../json/nameplaylist.json'), true);
$new_array = array_merge($file_json, $in_json);
file_put_contents('../json/nameplaylist.json', json_encode($new_array));

您不能只将新JSON添加到文件末尾,因为该文件将包含许多单独的JSON数组。您必须连接数组,然后重写整个文件。