2017年3月15日 星期三

[php] 利用 PHP 取得目前網址

利用 PHP 取得目前網址

透過 $_SERVER 在 PHP 中取得目前網址,下面是幾個常用的功能
$_SERVER['HTTP_HOST']
$_SERVER['REQUEST_URI']
$_SERVER['PHP_SELF']
$_SERVER['QUERY_STRING']
假設我們的網址是: http://127.0.0.1/index.php/About/about/id/1?search=123#a
則以上 $_SERVER 分別顯示結果會是...
//顯示 127.0.0.1
echo $_SERVER['HTTP_HOST'];
//顯示 /index.php/About/about/id/1/search/123/
echo $_SERVER['REQUEST_URI'];
//顯示  /index.php/About/about/id/1/search/123/
echo $_SERVER['PHP_SELF'];
//顯示 search=123 (thinkphp會把 "?" 轉成 "/" 所以在 think info 模式時會是 null )
echo $_SERVER['QUERY_STRING'];
因為 "#" 號 是用來對客戶端發送的數據, 所以在 php 中是無法直接取得的,
可以利用前端瀏覽器加上 ajax 來傳遞至伺服器 。
這只是個簡單的範例而已,如果網址結構較為複雜,可以調用更多的 $_SERVER 來取得詳細的部分,請參考php.net 的 $_SERVER 介紹。
PHP:$_SERVER - Manual
http://php.net/manual/en/reserved.variables.server.php

沒有留言:

張貼留言