Как получить URL текущей страницы в PHP

В PHP, как я могу получить URL-адрес текущей страницы? Предпочтительно только части после http://domain.com .

Solutions Collecting From Web of "Как получить URL текущей страницы в PHP"

$_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