В PHP, как я могу получить URL-адрес текущей страницы? Предпочтительно только части после http://domain.com .
$_SERVER['REQUEST_URI']
Подробнее о том, какая информация доступна в массиве $ _SERVER, см. На странице руководства по PHP .
Если вам нужна строка запроса (бит после «в URL»), эта часть находится в этой переменной:
$_SERVER['QUERY_STRING']
если вы хотите только части URL-адреса после http://domain.com , попробуйте следующее:
<?php echo $_SERVER['REQUEST_URI']; ?>
если текущий URL был http://domain.com/some-slug/some-id , echo вернет только '/ some-slug / some-id'.
если вы хотите получить полный URL-адрес, попробуйте следующее:
<?php echo 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
$uri = $_SERVER['REQUEST_URI'];
Это даст вам запрошенную директорию и имя файла. Если вы используете mod_rewrite, это чрезвычайно полезно, потому что оно сообщает вам, на какой странице пользователь смотрит.
Если вам нужно фактическое имя файла, вы можете попробовать либо $_SERVER['PHP_SELF']
, либо магическую константу __FILE__
, либо $_SERVER['SCRIPT_FILENAME']
. Второй 2 дает вам полный путь (от корня сервера), а не только от корня вашего сайта. Они полезны для таких включений.
$_SERVER['PHP_SELF']
дает имя файла относительно корня веб-сайта.
$relative_path = $_SERVER['PHP_SELF']; $complete_path = __FILE__; $complete_path = $_SERVER['SCRIPT_FILENAME'];
Другие ответы верны. Однако, быстро заметите: если вы хотите захватить вещи после ?
в URI вы должны использовать массив $_GET[]
.
вы можете использовать $ _SERVER ['HTTP_REFERER'], это даст вам весь URL, например: предположим, что вы хотите получить URL-адрес имени сайта http://www.example.com, а затем $ _SERVER ['HTTP_REFERER'] предоставит вам https: // www. example.com