2016-12-13 87 views
0

下面我有我的JSON結構,我正試圖做的是,插入新的領域,與他們自己的價值觀,我想不出一種方式來做到這一點PHP。到目前爲止我有:試圖插入JSON與PHP

//read the json file contents 
$jsondata = file_get_contents('sleaderboard.json'); 

//convert json object to php associative array 
$outdata = json_decode($jsondata, true); 

$encdata = json_encode($indata); 
$uname = $_POST["username"]; 

$indata = $uname . '{' . $encdata . '}'; 

file_put_contents('sleaderboard.json', $indata); 
?> 

這似乎幾乎工作,但刪除舊的數據。有人得到幫助? PS:$ indata只是通過郵件傳遞的元素,之前在代碼中收集。

{ 
    "clarke": { 
     "name": "clarke", 
     "comment": "comments test", 
     "score": 6 
    }, 
    "sam": 
    { 
     "name": "sam", 
     "comment": "insert regular comment here", 
     "score": 0 
    }, 
    "test": 
    { 
     "name": "test", 
     "comment": "boring, normal, extremely generic comment", 
     "score": 7 
    } 
} 
+0

不做手工JSON,剛剛拿到文件,解碼,推一個數組,編碼,把文件 – Ghost

+0

內裏的新元素,爲什麼不加'$ indata'到'$ outdata'然後保存'$ outdata'。 –

回答

0

從我的理解你想追加到文件。

file_put_contents('sleaderboard.json', $indata, FILE_APPEND); 
+0

,這將幫助。任何人,我確實找到了解決辦法。使用不同的功能,並只需編輯outdata數組 –