Получить URL-адрес текущего исполняемого каталога скрипта

Хорошо, нет, это не обман или, по крайней мере, на него не ответили. Я хочу знать URL-адрес текущего исполняемого каталога скрипта.

Любой ответ с участием $_SERVER['REQUEST_URI'] и др. (вероятно) не по теме.

У меня есть сценарий в /blah/blah/public_html/foo/bar/thescript.php. Этот скрипт включается другими скриптами. Мой браузер не находится на http://domain.com/foo/bar/thescript.php.

Я хочу /foo/bar или http://domain.com/foo/bar

Я придумал:

$dir = str_replace($_SERVER['DOCUMENT_ROOT'],'', __DIR__);

Это работает, хорошо. Просто проверяю другие решения.

Хорошо, да, это обман. вот еще один способ. (очень похоже на то, что я придумал

$dir = substr(__DIR__, strlen($_SERVER['DOCUMENT_ROOT']));

person Doug Cassidy    schedule 08.10.2015    source источник
comment
КАТАЛОГ ? также стоит вызвать phpinfo() в скрипт один раз, запустить его и посмотреть, какие варианты у вас есть.   -  person Rob G    schedule 09.10.2015
comment
Это не значит быть смелым. Это должно быть __ DIR __ без пробелов   -  person Rob G    schedule 09.10.2015
comment
обман: stackoverflow.com/questions/2090723/   -  person    schedule 09.10.2015
comment
Описанный выше метод действительно является дубликатом вопроса, заданного Дагоном, однако вполне возможно сопоставить несколько разных и отдельных каталогов с одним и тем же деревом URL-адресов, используя Apache и другие веб-серверы, даже без осложнений mod_userdir и mod_rewrite. Короче говоря, универсального решения, подходящего для всех случаев, не существует.   -  person symcbean    schedule 09.10.2015
comment
Да, это возможно, но возможно ли это вообще, в контексте среднего веб-сайта, на среднем сервере? Я понимаю, что существует множество различных способов использования LAMP, но я предполагаю, что «нормальный», «средний», «вероятный» способ — это обслуживание веб-сайта. Конкретный контекст, с которым я работаю, заключается в том, что я создаю модуль, который будет передан с сервера разработки на производство, когда все будет готово. Также этот модуль будет развернут на других сайтах. (это плагин). Я хочу знать, что когда он будет помещен на рабочий сервер, $dir будет таким же.   -  person Doug Cassidy    schedule 09.10.2015