2015-07-13 3 views
0

, поэтому я пытаюсь сохранить фид, получая от URL-адреса и записывая его в файл с именем new.json. после записи фида в файл, я затем использую функцию json_decode для хранения информации, но не могу получить информацию. Я знаю, что код работает, потому что я тестировал его с другим файлом, и он работает, но файл jus 6.45KB, а файл new.json - более 3 МБ.имеет ли функция json_decode ограничение по размеру?

Мне нужны данные с URL-адреса, чтобы обновить базу данных, но я не могу, потому что он не создает информацию из файла, поэтому мне интересно, слишком ли большой файл.

спасибо.

$new_props = $property->getData($URL); //Set Method to retrieve property 
$file = fopen("new.json","w+")or die("Error opening output file"); 
echo fwrite($file,json_encode($new_props)); 
fclose($file); 

$ourFileName = "new.json"; 
$mydata = file_get_contents($ourFileName); 
$json_array = json_decode($mydata, TRUE); 

if (is_null($json_array)) { 
    echo'<br /> json decode failed. Error handling here. <br />'; 
} 
$id = $json_array[property][1][id]; 
$area = $json_array[property][1][area]; 
echo "<br /> id:".$id ."<br /> area:".$area; 
+0

У вас есть какие-либо ошибки? –

+1

Это зависит от 'max_execution_time' вашего PHP, который может быть переопределен' set_time_limit() '. –

+1

Каков предел памяти, допускаемый PHP? Есть пределы памяти, но я был бы удивлен, что был выпущен 3-мегабайтный JSON-файл. Вы проверили файл, чтобы он был действительным с помощью: [JSONLint -JSON Validator] (http://jsonlint.com/) –

ответ

0

Ваш JSON-файл недействителен. Посмотрите на строку 95053 и посмотрите на "description": "... kind 2 bedroom, 2 1\2 bathroom ...", где у вас есть необработанное обратное пространство. Удалите это (используя \\), и он должен работать.

Смежные вопросы