在前端開發中,我們常常需要跳到其他頁面。而在跳轉前,有時我們需要取得目前頁面的位址。那麼在 PHP 中,如何輸出目前頁面的位址呢?
對於這個問題,有兩種方法可以實作。
方法一:使用 $_SERVER['HTTP_REFERER'] 變數
$_SERVER['HTTP_REFERER'] 這個變數可以取得目前頁面的前一個 URL 位址。它是由瀏覽器在 HTTP 請求頭中發送的。通常情況下,它會包含目前請求所在的頁面的完整 URL,但有時它也可能為空。
這個方法的程式碼如下:
$current_url = $_SERVER['HTTP_REFERER']; echo '当前页面的地址是:' . $current_url;
使用這種方法要注意的是,$_SERVER['HTTP_REFERER'] 的值可能會被瀏覽器竄改或清空,所以這種方法並不是非常可靠。
方法二:使用 $_SERVER['REQUEST_URI'] 變數
$_SERVER['REQUEST_URI'] 這個變數可以取得目前請求的 URI(Uniform Resource Identifier)位址。它表示當前請求的頁面相對於網域名稱的路徑,包括查詢字串。使用這個變數可以確保我們取得的是目前頁面的位址,而不是前一個頁面的位址。
這個方法的程式碼如下:
$current_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo '当前页面的地址是:' . $current_url;
使用這種方法需要注意的是,$_SERVER['REQUEST_URI'] 中包含查詢字串,如果不需要查詢字串,可以使用PHP 的parse_url 函數來取得純粹的路徑部分,程式碼如下:
$current_url = 'http://' . $_SERVER['HTTP_HOST'] . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); echo '当前页面的地址是:' . $current_url;
總結
#以上就是在PHP 中輸出目前頁面位址的兩種方法。雖然這兩種方法各有優缺點,但一般來說使用 $_SERVER['REQUEST_URI'] 變數會更可靠。無論使用哪種方法,都需要注意安全性問題,並避免 XSS(跨站腳本)攻擊等問題。
以上是php 輸出跳轉前地址的詳細內容。更多資訊請關注PHP中文網其他相關文章!