file_get_contents не находит файл

1

Следующий код пытается загрузить содержимое файла в строку.

    // Loads the forecast from json
    public function loadForecast()
    {       
        try {

            $filename = "../../forecast/forecast.json";

            echo "Dateiname: '" . $filename . "'\n";
            echo "Pfad: '" . realpath($filename) . "'\n";

            if ($forecastContent = file_get_contents($filename) !== false) {

                echo "got content";
            }
            else {

                echo "no content";
            }
        } 
        catch (Exception $e) {

            echo "Caught exception: " . $e->getMessage();
        }
    }

Может ли кто-нибудь сказать мне свою вину? Я всегда получаю "никакого контента". realpath делает печать "" (пустая строка).

Мой webspace hierachie - это

  • /
    • Backend
      • мой файл PHP
    • прогноз
      • forecast.json
  • 0
    попробуйте абсолютный путь к имени файла, иногда он не работает с относительными путями
Теги:
file
path
file-get-contents

2 ответа

3
Лучший ответ

У вас слишком много ../ в пути. Вам нужно только подняться на 1 уровень, чтобы добраться до общего предка Backend каталога и файла. Так что это должно быть ../forecast/forecast.json

  • 0
    хорошо ... попробовал это. См. Редактировать
  • 0
    Я отменил редактирование. Вопрос должен содержать ошибку, так что ответ имеет смысл.
1

Я должен был использовать./вместо../:-)

  • 0
    Это не ответ (то есть, соответствующий результат для четко разграниченной проблемы, который может быть полезен для других людей); просто осознание вашей ошибки относительно абсолютных / относительных путей. Обратите внимание, что ваш вопрос не дает четкого определения проблемы, поскольку текущий путь не упоминается (весь смысл здесь: что объясняет, почему «./» работает, а «../» - нет). Лучше отредактируйте свой вопрос, включив это решение и четкое описание проблемы (например, скрипт был запущен из каталога X / Y и пытался получить доступ к каталогу X).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню