2016-04-30 5 views
-1

У меня есть некоторые проблемы с чтением из внешнего json-файла в php.Прочтите форму .json с php

Я попытался это решение:

$data = json_decode(file_get_contents('/data/usersdata.json'),TRUE); 
print_r ($data); 

В usersdata.json сейчас:

{"name":"admin","password":"admin","permission":"admin"} 

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

+0

использовать 'print_r ($ data)' и проверять, правильно ли он декодирован или нет. –

+2

Предполагая, что '/ data/usersdata.json' существует, ваш код _should_ работает. –

+1

Если он существует, проверьте разрешения. Если вы используете его с веб-сервера, пользователь, пытающийся получить к нему доступ, может быть «apache» или «nginx» или что-то еще. –

ответ

1

Проверено на PHP 5.6 (MAMP)

Я реплицируются ваш пример и все работает, как ожидалось

try { 
 
    $fileData = file_get_contents('src/data.json'); 
 
    $data = json_decode($fileData, true); 
 

 
    print_r($data); 
 
    
 
} catch(Exception $e) { 
 
    echo $e->getMessage(); 
 
}

Выход:

Array ([name] => admin [password] => admin [permission] => admin)

  • Start с помощью инструкций Try/уловов, чтобы поймать любые некритические ошибки
  • Убедитесь error_reporting is set to E_ALL
  • В режиме разработки/стадии избежать вложенности функций, как это делает отладку трудными и менее читаемым. С несколькими строками кода сохранение строки здесь и там не повлияет на вашу производительность.