2010-04-16 3 views
1

config.php, установленный на уровне корня, этот файл будет включен в любые страницы.Использовать абсолютный путь для более легкого изменения включают путь в будущем?

Тогда в config.php

<?php 
define('ROOT_DIR', dirname(__FILE__)); 
?> 

Таким образом, на всех остальных страницах из разных каталогов суб/A.php, суб/суб/b.php, когда я хочу, чтобы включить конкретный файл в определенном месте, Мне просто нужно

include(ROOT_DIR.'/include/functions.php'); 

в сервере окон, то ROOT_DIR довести значение C:/inetpub/vhosts/domain.com

это хороший/безопасный способ?

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

Любые недостатки? Как SEO мудрый или любая другая причина ... Что вы, ребята, думаете.

ответ

2

Я прокомментирую, что одним из преимуществ метода, который вы используете (используя абсолютные пути), является то, что PHP не нужно будет разрешать путь для каждого запроса. Таким образом, вы можете увидеть такую ​​лучшую производительность.

Кроме того, если вы используете PHP 5.3, вы можете просто использовать __DIR__ вместо dirname(__FILE__).

Если вы не используете 5.3, вы можете сделать снимок, если сможете. Много усовершенствований было сделано для платформы Windows в 5.3, не говоря уже о многих новых полезных языковых функциях.

0

я предлагаю использовать ВХосты как таковой ...

C:/Inetpub/ВХост/счета/html = указывает => domain.com C:/Inetpub/ВХост/счет/includeded_files

define('PATH_INCLUDE','C:/inetpub/vhost/account/included_files'); 
+0

включая ** ред ** _files? –

+0

@Billy - Спасибо ... исправлено. –

2

Я думаю, что делать что-то вроде этого очень желательно, поскольку он значительно повышает переносимость вашего сайта. Я не вижу, как это может повлиять на SEO.

Однако, это неправда, что этот метод позволяет никогда не изменять пути включения. Вам все равно придется изменить путь include для config.php, поскольку ROOT_DIR явно не определен до тех пор, пока это не будет включено.

Если вы хотите избежать этого, вместо ROOT_DIR следует использовать $ _SERVER ['DOCUMENT_ROOT']. Это вернет ту же самую вещь, и она будет доступна для всех ваших скриптов, может быть использована для включения config.php, а также всего вашего другого.

Кроме того, вы можете edit the include path in php.ini. Однако это предполагает, что: а) все ваши входящие включены в одну папку и b) у вас есть доступ к php.ini на вашем сервере.

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