我有具有每JSON對象的直接圖像鏈接和文件夾名稱簡單的JSON文件:追加陣列數據作爲對象來JSON文件
[
{
"image": "http://placehold.it/350x150",
"folder": "Small"
},
{
"image": "http://placehold.it/450x250",
"folder": "Medium"
},
{
"image": "http://placehold.it/550x350",
"folder": "Medium"
}
]
我想這兩個值從後追加,但結果是一個不變的json文件。下面是PHP代碼瓦特/評論:
$directLink = $_POST['txtDirectLink'];
$category = $_POST['selectCategoriesImages'];
$util->addToJsonImageList($directLink, $category);
//decodes the json image list, merges to the decoded array a new image, then encodes back to a json file
function addToJsonImageList($link, $category) {
$file = file_get_contents('./images_list.json', true);
$data = json_decode($file);
unset($file);
$newImage = array('image' => $link, 'folder' => $category);
//$newImage['image'] = $link;
//$newImage['folder'] = $category;
$result = array_merge((array)$data, (array)$newImage);
json_encode($result);
file_put_contents('./images_list.json', $result);
unset($result);
}
的邏輯是,它應該是簡單的json_decode該文件作爲一個陣列,所述新的數組,併到的是,然後將結果進行編碼並投入相同的文件。我一直無法捕捉任何類型的錯誤。
嘗試'$ data = json_decode($ file,true);' – bansi
我以爲我已經這樣做了,以確保它作爲一個數組返回,但我偶然在文件中添加了bool參數。但仍然沒有改變。 – benbob
file_put_contents('./images_list。json',json_encode($ result)); –