PHP将数据添加到json文件

时间:2014-08-15 14:47:11

标签: php json merge

我尝试将数据添加到json文件中。

首先尝试:

$filename = "$root/nachrichten/bla.json";

$neueartikel = json_decode(file_get_contents($filename), true); /*until here everything works, I can loop the file*/

$neueartikel[] = array('titel' => 'bla',
                    'bild' => 'bla',
                    'url' => 'bla',
                    'ID' => 'bla',
                    'bildserver' => 'bla'); 

file_put_contents('$root/nachrichten/bla.json', json_encode($neueartikel);

第二次尝试:

$filename = "$root/nachrichten/bla.json";

$neueartikel = json_decode(file_get_contents($filename), true);

$neu[] = array('titel' => 'bla',
                    'bild' => 'bla',
                    'url' => 'bla',
                    'ID' => 'bla',
                    'bildserver' => 'bla');

$result = array_merge($neueartikel, $neu);

file_put_contents('$root/nachrichten/bla.json', json_encode($result);

我该怎么做????

更新:

我也尝试过PotatoIng所说的话:

$filename = "$root/nachrichten/bla.json";

    $temparray = json_decode(file_get_contents($filename), true);

    $neu = array('titel' => 'bla',
                        'bild' => 'bla',
                        'url' => 'bla',
                        'ID' => 'bla',
                        'bildserver' => 'bla');

    array_push($temparray, $neu);

    file_put_contents("$root/nachrichten/bla.json", json_encode($temparray);

仍然没有(忽略此文本我需要添加一些,否则我无法提交-.-)

2 个答案:

答案 0 :(得分:2)

基本PHP:' - 引用字符串 NOT 插入变量:

file_put_contents('$root/nachrichten/bla.json', json_encode($neueartikel);
                  ^^^---

您的代码正在尝试将您的文件写入名称为$ro等的目录...

使用" - 引用的字符串。

答案 1 :(得分:0)

$data[] = $_POST['data'];

$inp = file_get_contents('results.json');
$tempArray = json_decode($inp);
array_push($tempArray, $data);
$jsonData = json_encode($tempArray);
file_put_contents('results.json', $jsonData;

由Tim"

Append data to a .JSON file with PHP上回答