2016-02-26 2 views
7

Я создаю coulple php документов, которые включены. .cfg для файлов конфигурации, .tpl для файлов структуры шаблонов, .dlf для файлов макетов документов, dbh для соединений с базой данных и т. Д.файлам .php требуется расширение .php?

Теперь их называют .tpl.php, .dlf.php и т. Д. Но им также нужно иметь расширение .php? Если нет, есть ли расширения, которые я не должен использовать? как EXE-файл для файлов исполнение ..

+2

Как вы управляете файлами? Доступ к ним осуществляется на уровне сервера, или вы просто используете 'include()' или 'require()' для доступа к своим данным? – Ben

+1

Нет, это просто конвенция. Однако он должен согласиться с настройкой других компонентов системы. Вы можете свободно выбирать любое расширение или вообще не использовать расширение. Помните http://blog.codinghorror.com/coding-for-violent-psychopaths/ –

+0

Если они используются через 'include' или' require', любое расширение будет работать. – mitkosoft

ответ

3

Вы можете изменить конфигурации сервера для enterpret других расширений файлов в PHP

В Apache вы можете добавить к этому:

<FilesMatch \.php$> 
SetHandler application/x-httpd-php 
</FilesMatch> 

, если вы include файлов, затем любое расширение будет делать:

в script.php:

include 'includes/foo.inc'; 
include 'inlcudes/bar.whatever'; 

все будет работать

3

От Hiding PHP on PHP.net:

Другая тактика заключается в настройке веб-серверов, таких как Apache для разбора различных типов файлов с помощью PHP, либо с .htaccess директивы, или в самом файле конфигурации Apache. Затем вы можете использовать нестандартные расширения файлов:

# Make PHP code look like unknown types 
AddType application/x-httpd-php .bop .foo .133t 

Таким образом, вы можете добавить .htaccess правило, которое будет означать, что ваш сервер обрабатывает .tpl, .dlf и т.д., как если бы они были PHP-файлы, например, так:

AddType application/x-httpd-php .tpl .dlf .dbh 

Однако, если вы используете только include или require, не имеет значения, какое расширение вы используете:

include "inc/template.tpl"; 
require "inc/database.dbh"; 
require_once("inc/config.ext.php.url.tpl.cfg"); 
+0

Что делать, если входящие файлы состоят из кода php и html? Будет ли он по-прежнему работать с расширением, а может я столкнуться с некоторыми проблемами на этом пути? Сервер - это Linux ... – ThomasK

+1

Это должно быть абсолютно точно - так же, как если бы вы были 'include'-ing регулярным файлом' .PHP'. – Ben

Смежные вопросы