#php
#php
Вопрос:
У меня такая структура папок: — классы Tasks.php — настраивает tasks.json
Мне нужно получить задачи с данными файла.json из папки classes
public function __construct($user_id)
{
$this->userdata = json_decode(file_get_contents('.configstasks.json'), true);
}
Я попытался указать пути другого типа (через полный путь)
В ответ я получаю либо пустой массив, либо предупреждение: file_get_contents(/configs/tasks.json): не удалось открыть поток: нет такого файла или каталога в …
Комментарии:
1. Ну, переход по каталогу … нет. поэтому попробуйте изменить это на ‘.. configs tasks.json’
Ответ №1:
Я думаю, что вы указали неправильный путь, попробуйте это
$this->userdata = json_decode(file_get_contents(__DIR__.'/configs/tasks.json'), true);
Если ваши PHP-файлы находятся в каталогах классов, используйте
$this->userdata = json_decode(file_get_contents(__DIR__.'/../configs/tasks.json'), true);
Ответ №2:
Вам, вероятно, потребуется перейти на один каталог из Tasks.php , использовать:
public function __construct($user_id)
{
$this->userdata = json_decode(file_get_contents(__DIR__.'/../configs/tasks.json'), true);
}
Комментарии:
1. @A.Dobriy Это действительно сработало, потому что ваш код больше не выдает предупреждения. А также
json_decode()
возвращает массив, что хорошо. Почему массив пуст, выходит за рамки этого вопроса.
Ответ №3:
Попробуйте:
$this->userdata = json_decode(file_get_contents('../configs/tasks.json'), true);