Пути PHP к file_get_contents ()

Мне нужно использовать file_get_contents(), чтобы получить содержимое html-страницы (content.html) в файле (file.php), который находится в таком каталоге:

/content
- content.html
/functions
- file.php

Итак, я попытался использовать file_get_contents('../content/content.html') для получения содержимого html, но получаю эту ошибку:

failed to open stream: No such file or directory

Я думаю, что могу неправильно использовать путь. Что я могу делать?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
1 244
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Используйте $ _SERVER ['DOCUMENT_ROOT'] все время, чтобы вам не приходилось сталкиваться с проблемами с путями к файлам.

Пытаться:

file_get_contents($_SERVER['DOCUMENT_ROOT'] .'/content/content.html');

Вы указывали неправильный путь. $ _SERVER ['DOCUMENT_ROOT'] дает вам полный путь к корню apache. Вы просто добавляете папку оттуда.

Karlo Kokkak 24.03.2018 15:56

Я думаю, что здесь лучше использовать __DIR__, полагаясь на переменную, установленную веб-сервером:

file_get_contents(__DIR__ . '/../content/content.html')

$_SERVER['DOCUMENT_ROOT'] подвержен ошибкам, поскольку он полагается на веб-сервер (в данном случае Apache), если вместо этого вы используете Nginx, ваш код может сломаться, поскольку вам нужно настроить его для установки этой переменной .... вместо этого я предпочитаю полагаться на __DIR__, который предоставляется PHP, таким образом, агностик окружающей среды.

DIR не возвращает корневую папку сервера. Он возвращает текущее местоположение папки, в которой находится файл. Тогда это становится проблематичным с компонентами пути ../../.
Karlo Kokkak 25.03.2018 04:27

Другие вопросы по теме