В PHP, как я могу получить URL-адрес текущей страницы? Предпочтительно только части после http://domain.com.
Как получить URL текущей страницы в PHP
Ответ 1
$_SERVER['REQUEST_URI']
Подробнее о том, какая информация доступна в массиве $_SERVER, см. справочную страницу PHP для нее.
Если вам нужна строка запроса (бит после ?
в URL-адресе), эта часть находится в этой переменной:
$_SERVER['QUERY_STRING']
Ответ 2
если вы хотите только части 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']; ?>
Ответ 3
$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'];
Ответ 4
Другие ответы верны. Однако, быстро обратите внимание: если вы хотите захватить материал после ?
в URI, вы должны использовать массив $_GET[]
.
Ответ 5
Вы можете использовать $_SERVER['HTTP_REFERER']
, это даст вам полный URL, например:
предположим, что вы хотите получить URL имени сайта www.example.com
, тогда $_SERVER['HTTP_REFERER']
выдаст вам https://www.example.com