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






Вам не нужно, чтобы ваш 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 скрипт), иначе он НЕ запустится.