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

Как получить URL-адрес выполняемого в настоящее время PHP-скрипта?

Например, URL http://www.domain.com/folder/script.php отправляет запрос в /var/www/domain/folder/script.php .

В script.php я хочу эхо http://www.domain.com/folder/ (not /var/www/domain/folder/ , а не http://www.domain.com/folder/script.php ) , Каков самый простой способ сделать это?

Это не так сложно, но вот оно:

 <?php $scriptFolder = (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) ? 'https://' : 'http://'; $scriptFolder .= $_SERVER['HTTP_HOST'] . dirname($_SERVER['REQUEST_URI']); echo $scriptFolder; ?> 

Простой поиск Google ответил бы на ваш вопрос. Вот результат.

http://php.about.com/od/learnphp/qt/_SERVER_PHP.htm

Я искал ответ на этот вопрос, кажется, что это непросто.

Затем он ударил меня: это потому, что не всегда можно получить текущий URL-адрес сценария.

PHP может содержать файл в любом месте файловой системы, если пользователь, выполняющий этот процесс, имеет к нему доступ, он будет работать. Но тогда это означает, что можно включать скрипты вне корневого каталога веб-сервера – следовательно, невозможно иметь URL-адрес. Я считаю, что причина в том, что для этого нет прямой функции.