在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/

arrow
arrow
    全站熱搜

    Siderence 發表在 痞客邦 留言(0) 人氣()