2012-06-01 3 views
0

Я пытался исследовать то, что лучше использовать для включения повторяющихся частей сайта - php включает функцию или библиотеку (предоставляется в Dreamweaver).php include vs library; правильный путь

Возможно, есть другие - лучшие способы достижения такого же результата?

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

Благодаря

+1

Я не знаю, что делает библиотека Dreamweaver, но если она делает что-то еще, кроме 'include()' входящих частей кода, это делает это неправильно :) Использование include - отличный способ, и если ваши файлы include расти, возможно, заглянуть в [ООП и автозагрузку.] (http://php.net/manual/en/language.oop5.autoload.php) –

ответ

0

Поскольку мечта ткача использует библиотеку, это, вероятно, не так;)

Если вы хотите, чтобы код был включен только после того, как вы воспользовались вместо этого require_once.

Попробуйте относительные пути вместо абсолютного

0

Кроме простой способ решить эту проблему, чтобы определить константу внутри корня, как правило, в файле index.php.

/**Path Environment**/ 
$root=pathinfo($_SERVER['SCRIPT_FILENAME']); 
define ('BASE_FOLDER', basename($root['dirname'])); 
define ('SITE_ROOT', realpath(dirname(__FILE__))); 
define ('SITE_URL', 'http://'.$_SERVER['HTTP_HOST'].'/'.BASE_FOLDER); 

Затем вы можете использовать, SITE_URL и SITE_ROOT на протяжении всего сценария, зная его правильный путь к корневой директории веб.

Так ваш старый включает выглядеть следующим образом:

include('/srv/www/somesite.com/public_html/somefile.php');

и ваш новый включает в себя будет выглядеть include(SITE_ROOT.'/somefile.php'); тогда, когда развивается на окнах путь будет меняться соответствующим образом.

0

Помещенный

include_path = ".:/your/absolute/path" 

в вашем php.ini, как среде сервера и локальный. Затем вы можете получить доступ к файлу путей включения в любом месте кода.

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