首頁 >每日程式設計 >PHP知識 >php怎麼取得目前完整url位址

php怎麼取得目前完整url位址

藏色散人
藏色散人原創
2018-12-08 15:09:0034028瀏覽

對於PHP學習者來說,應該都知道$_SERVER 是一個包含了諸如頭資訊(header)、路徑(path)、以及腳本位置(script locations)等等資訊的陣列。顯然PHP取得目前頁面的完整url位址,主要就​​用到$_SERVER這個系統變數。

php怎麼取得目前完整url位址

下面我們就透過具體的範例來跟大家介紹PHP取得完整url的實作方法。

首先我們直接列印一下$_SERVER,程式碼範例如下:

<?php
echo "<pre class="brush:php;toolbar:false">";
var_dump($_SERVER);

#輸出結果,部分截圖如下:

php怎麼取得目前完整url位址

## $_SERVER的輸出結果如圖所示,是包含41個元素的陣列。


那麼我們要怎麼取得目前完整的url?也就是怎麼判斷目前頁是HTTP還是HTTPS,怎麼取得網域名稱以及路徑?


解決程式碼如下:

<?php

$uri = $_SERVER[&#39;REQUEST_URI&#39;];
echo $uri;//输出:URI 
echo "<br>";
$protocol = ((!empty($_SERVER[&#39;HTTPS&#39;]) && $_SERVER[&#39;HTTPS&#39;] != &#39;off&#39;) || $_SERVER[&#39;SERVER_PORT&#39;] == 443) ?
    "https://": "http://";
    
$url = $protocol . $_SERVER[&#39;HTTP_HOST&#39;] . $_SERVER[&#39;REQUEST_URI&#39;];
echo $url;//输出完整的url

這裡$uri就是取得了檔案的路徑位址,也就是取得REQUEST_URI這個下標的值。然後再透過上述方法判斷目前url頭部是以HTTP還是https開頭的,最後就可以拼接完整url的三個部分,頭部傳輸協議,網域名稱以及檔案位址路徑。


結果如下圖:

php怎麼取得目前完整url位址

如圖,我們成功取得到了目前頁面的完整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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn