PHP возвращение папок в URL

0

Я вызываю свой PHP файл из глубоко вложенной папки, потому что мой код структурирован в модулях.

Я попробовал это:

define('__ROOT__', dirname(__FILE__).'../../../');
echo __ROOT__;

Это дает мне:

/var/www/virtual/myvirtualservername/mywebsite.com/modules/Dialog/Feedback../../

Я не могу просто использовать:

$_SERVER['DOCUMENT_ROOT']

Это дает мне:

/var/www/virtual/myvirtualservername/html

который также является неправильной папкой.

К сожалению, это не работает, и у меня нет журнала ошибок на моем сервере, поэтому я не могу отладить внутреннюю ошибку сервера. Запрошено, что теперь у моего провайдера.

В заключение, мой вопрос заключается в том, как добраться до папки, которую я хочу, /var/www/virtual/myvirtualservername/mywebsite.com/?

  • 0
    Какой вопрос?
  • 0
    Ха, да, я действительно не видел там вопроса.
Показать ещё 2 комментария
Теги:

2 ответа

2
Лучший ответ

Я думаю, ваша проблема в том, что вы не добавляете косой черты в начале ваших путей. Значения каталога возвращаются без привязки косых черт, например /var/www

Изменение вашей первой строки на этом должно работать:

define('__ROOT__', __DIR__.'/../../../mywebsite.com');
echo __ROOT__;

Я заменил dirname(__FILE__) - __DIR__ dirname(__FILE__) с __DIR__, как указано в комментариях. Также обратите внимание, что __ROOT__ не имеет завершающей косой черты, поэтому вы должны добавить это, когда вы вставляете свой файл, например

include __ROOT__ . '/file.php';

Я не совсем уверен, что сделка с вашим корнем документа, хотя. Похоже, что открытая часть сайта находится в html но код PHP находится в каталоге mywebsite.com вместе с этим.

  • 0
    Я думаю, что это был пропущенный слеш, теперь это работает, спасибо.
  • 0
    Кстати, я бы не стал называть константы с подчеркиванием в начале, поскольку они зарезервированы для использования базовым языком.
Показать ещё 1 комментарий
0

Я не знаю... возможно, вы можете сделать "замену строки", если хотите, чтобы это было точно, что-то вроде следующего:

define('__ROOT__',str_replace("/modules/Dialog/Feedback","",dirname(__FILE__)));

Что-то вроде этого должно дать результат, который вы хотите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню