在PHP裡如果想要取得目前的網址資訊,不論是網域、目錄路徑或是參數,可以透過交叉使用下面的方法來達成目的。
$_SERVER['HTTP_HOST'] // 取得網域
$_SERVER['REQUEST_URI'] // 取得網域內的完整路徑及參數
$_SERVER['PHP_SELF'] // 取得網域內的完整路徑,但不含參數
$_SERVER['QUERY_STRING'] // 只取得參數
以 http://www.lamron.tw/php_note/get_url.php?aa=1 這個網址為例,結果如下:
echo $_SERVER['HTTP_HOST']
// 得到 www.lamron.tw
echo $_SERVER['REQUEST_URI']
// 得到 /php_note/get_url.php?aa=1
echo $_SERVER['PHP_SELF']
// 得到 /php_note/get_url.php
echo $_SERVER['QUERY_STRING']
// 得到 aa=1
也可以使用 __FILE__ 來取得伺服器上的路徑與目錄,加上使用 basename() 及 dirname() 就能夠篩選出需要的檔名或路徑。同樣以 http://www.lamron.tw/php_note/get_url.php?aa=1 這個網址為例:
echo __FILE__;
// 得到 /home/lamrontw/public_html/php_note/get_url.php
echo basename(__FILE__);
// 得到 get_url.php
echo basename(__FILE__, ".php");
// 得到 get_url
echo dirname(__FILE__);
// 得到 /home/lamrontw/public_html/php_note
echo dirname(dirname(__FILE__));
// 得到 /home/lamrontw/public_html/
留言列表