storage.json:PHP JSON чтения файла
{"544aee0b0a00f":{"p_name":"testname","p_about":null,"file":"images\/1.png"}}
{"548afbeb42afe":{"p_name":"testname2","p_about":null,"file":"images\/2.png"}}
{"549afc8c8890f":{"p_name":"testname3","p_about":null,"file":"images\/3.jpg"}}
Теперь цифры с буквами в начале являются uniqid() функция, которая была вызвана, когда написание элементов в файл.
<?php
$storage_file = 'storage.json';
$storage = file_get_contents($storage_file);
$storage = json_decode($storage,true);
$storage = empty($storage) ? array() : $storage;
print_r($storage)
?>
Теперь я попытался отобразить все записи из файла JSON, но он работает только если у меня есть 1 запись в файл, если у меня есть более чем 1, для, как здесь о (3 записи), чем результат я get is simple text: Array()
Может ли кто-нибудь помочь мне? Я как бы застрял здесь, не знаю, что делать, чтобы исправить проблему.
У вас есть недопустимый JSON. Неудивительно, что это дает вам неприятности. : P – cHao
Если у вас несколько объектов JSON, они должны быть сгруппированы в массив JSON. Что-то вроде '[{...}, {...}, {...}]'.Ваш 'storage.json' на самом деле не является допустимым файлом JSON. Ваша проблема исходит из кода, который «пишет элементы в файл» (почему вы не используете базу данных?) – sjagr
это, его просто [] был заменен $ new_id = count ($ storage); $ uid = uniqid(); $ storage [$ uid] = $ new_record; file_put_contents ($ storage_file, json_encode ($ storage), FILE_APPEND); – EvilNabster