Php включает в html файлы-каталоги

Все ли включаемые файлы php должны находиться в подключаемом каталоге или это просто организационное удобство? Могу ли я включать файлы из любого каталога, используя путь к этому каталогу? Должны ли html файлы, содержащие php, иметь расширение php? Если это так, я думаю, это будет означать, что все мои html-документы будут на php, если все они будут иметь меню, которые я планирую «включить». Это приемлемый протокол, чтобы каждый файл на вашем сайте был файлом php?

Поклон в смиренном благоговении ...

p.s. есть ли хорошая библия по этой теме !?

Стоит ли изучать 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 и хотите разрабатывать...
2
0
886
4

Ответы 4

Вам не нужно, чтобы ваш php включал что-то конкретное или имел какое-либо расширение файла ...

Вызов include ('/ path / to / your / file / with / any / extension.extension'); следует включить его как файл php

Обычно безопаснее вызывать файлы с PHP-кодом с расширением php tho.

Если вы поместите PHP в файл .html и включите его (), он должен работать. Однако, если кто-то запросит файл .html непосредственно с сервера, он сможет увидеть весь ваш PHP-код необработанным, что опасно. Поэтому, если вы это делаете, либо поместите эти файлы в каталог, не доступный из Интернета (например, над корнем документа), либо измените конфигурацию веб-сервера, чтобы файлы .html обрабатывались как PHP.

У вас должна быть возможность include () любой файл, но у вас могут возникнуть проблемы с доступом к некоторым каталогам, если в PHP есть ограничение open_basedir (которое вы, вероятно, найдете на большинстве веб-хостов)

Вы можете включать файлы из любого места на сервере (конечно, в зависимости от прав доступа к файлам и ограничений безопасности).

Использование каталога include помогает поддерживать порядок, но не является обязательным.

Если файл содержит код PHP, его следует сохранить как файл .php - в противном случае, если он вызывается напрямую, код не будет запущен. Это оставляет вам файл, который ведет себя по-разному в зависимости от того, как к нему обращаются, что, вероятно, не то, что вам нужно, и может быть угрозой безопасности.

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

Джеймс Массер:

Я думаю, вы имеете в виду Apache SSI, который сейчас включает (см. http://httpd.apache.org/docs/2.2/howto/ssi.html#standard-footer)

Не зная ответа, я попробовал, и вот мои результаты

Extension  Call method        PHP runs
 .html      browser            no
 .html      Apache #include    no
 .html      PHP include()      yes
 .php       browser            yes
 .php       Apache #include    yes
 .php       PHP include()      yes

(Тестирование проводилось с WinXP, Apache 2.2.3, PHP 5.2.26 и CentOS 5.2, Apache 2.2.3, PHP 5.1.16)

Итак, ваш ответ - ДА - если вы хотите вызвать PHP-скрипт через Apache SSI #include, скрипт должен иметь расширение .php (или какое-либо другое расширение, например .php4 .php5 и т. д., Которое зарегистрировано в Apache как PHP скрипт), иначе он НЕ запустится.

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