對於PHP學習者來說,應該都知道$_SERVER 是一個包含了諸如頭資訊(header)、路徑(path)、以及腳本位置(script locations)等等資訊的陣列。顯然PHP取得目前頁面的完整url位址,主要就用到$_SERVER這個系統變數。
下面我們就透過具體的範例來跟大家介紹PHP取得完整url的實作方法。
首先我們直接列印一下$_SERVER,程式碼範例如下:
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump($_SERVER);
#輸出結果,部分截圖如下:
## $_SERVER的輸出結果如圖所示,是包含41個元素的陣列。<?php $uri = $_SERVER['REQUEST_URI']; echo $uri;//输出:URI echo "<br>"; $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://": "http://"; $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url;//输出完整的url這裡$uri就是取得了檔案的路徑位址,也就是取得REQUEST_URI這個下標的值。然後再透過上述方法判斷目前url頭部是以HTTP還是https開頭的,最後就可以拼接完整url的三個部分,頭部傳輸協議,網域名稱以及檔案位址路徑。
註:
'REQUEST_URI',URI 用來指定要存取的頁面。
'HTTPS',如果腳本是透過 HTTPS 協定被訪問,則設為非空的值。
'SERVER_PORT',Web 伺服器使用的連接埠。預設值為 “80”。如果使用 SSL 安全連接,則這個值為使用者設定的 HTTP 連接埠。 (如果$_SERVER['SERVER_PORT'] 等於443,則表示可以直接存取url,如果等於8443則表示要帶上連接埠號碼存取。)
'HTTP_HOST',目前請求頭中Host: 項的內容,如果存在的話。
這篇文章是關於PHP取得目前完整url位址的方法介紹,也是非常簡單易懂的,希望對需要的朋友有所幫助以上是php怎麼取得目前完整url位址的詳細內容。更多資訊請關注PHP中文網其他相關文章!