Поэтому мы создаем веб-сайты, которые необходимо портировать с локальных серверов разработки, на тестовый сервер, а затем на живой сервер. По этой причине мы создали переменную:
<?php $path = '/_Folder_/_SubFolder_'; ?>
Когда мы перемещаем веб-сайт с сервера на другой, идея состоит в том, чтобы просто изменить определение $ path для переоснащения нового сервера разработки. В настоящее время на каждой странице, когда мы вызываем include, мы пишем:
<?php include('../_includes/_css.php'); ?>
но то, что я пытаюсь сделать, это:
<?php include($path.'/_includes/_css.php'); ?>
мой результат, на который я надеюсь, это:
<?php include('/_Folder_/_SubFolder_/_includes/_css.php'); ?>
Я терпел неудачу, приводя к:
Предупреждение: include (/ Folder /_SubFolder_/_includes/_css.php) [function.include]: не удалось открыть поток: нет такого файла или каталога в C: \ Program Files \ Apache Software Foundation \ Apache2.2 \ htdocs \ FREEDOM2012_FREEDOM2012_DEFAULT_ \ размещение \ guest-rooms.php в строке 15
Другая проблема I по-прежнему должна включать источник переменной, вызывая "../"
<?php include('../_includes/_var.php'); ?>
если кто-нибудь узнает, как я мог бы сделать это более эффективно, я был бы очень благодарен. Большое вам спасибо за ваше время, терпение и усилие в ответе.
Почему бы вам не инициализировать переменную $ path динамически один раз навсегда и не зависящую от окружающей среды?
как:
$path = dirname(__FILE__);
Начиная с PHP 5.3, у вас также есть ярлык __DIR__
который делает то же самое, что и выше.
@see: http://www.php.net/manual/en/language.constants.predefined.php
вам нужно показать предыдущий каталог из
<?php include('../_includes/_css.php'); ?>
потому что у вас есть " ../ ". Если ваш полный путь из « css.php » = / _ * Folder * _ / SubFolder /_includes/_css.php, вам нужно использовать следующий код:
<?php $path = './_Folder_/_SubFolder_'; include($path.'/_includes/_css.php'); ?>
else сначала показать полный путь к файлу _css.php