Как получить 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 ответил бы на ваш вопрос. Вот результат.
Я искал ответ на этот вопрос, кажется, что это непросто.
Затем он ударил меня: это потому, что не всегда можно получить текущий URL-адрес сценария.
PHP может содержать файл в любом месте файловой системы, если пользователь, выполняющий этот процесс, имеет к нему доступ, он будет работать. Но тогда это означает, что можно включать скрипты вне корневого каталога веб-сервера – следовательно, невозможно иметь URL-адрес. Я считаю, что причина в том, что для этого нет прямой функции.