當前位置: 首頁> 最新文章列表> PHP實用教程:輕鬆獲取當前域名、主機、URL、端口及請求參數

PHP實用教程:輕鬆獲取當前域名、主機、URL、端口及請求參數

gitbox 2025-08-10

獲取當前域名

在PHP中,可以通過$_SERVER['HTTP_HOST']變量獲取當前訪問的域名,返回瀏覽器地址欄中的主機名部分。

 // 獲取當前域名
$domain = $_SERVER['HTTP_HOST'];
echo "當前域名為:" . $domain;

獲取主機名

主機名通常指服務器的名稱或IP地址,可以使用$_SERVER['SERVER_NAME']來獲取當前服務器的主機名。

 // 獲取主機名
$host = $_SERVER['SERVER_NAME'];
echo "當前主機為:" . $host;

獲取完整URL

完整的URL包含協議、域名以及請求的路徑和參數。通過拼接$_SERVER['HTTP_HOST']$_SERVER['REQUEST_URI']即可獲得當前頁面的完整URL。

 // 獲取URL
$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo "當前URL為:" . $url;

獲取訪問端口

服務器監聽的端口號可以通過$_SERVER['SERVER_PORT']獲取,顯示當前請求所使用的端口。

 // 獲取端口
$port = $_SERVER['SERVER_PORT'];
echo "當前端口為:" . $port;

獲取URL參數

URL中問號後的參數部分可通過$_GET數組獲取,常用於傳遞數據給服務器。

 // 獲取参数
if (isset($_GET['name'])) {
    $name = $_GET['name'];
    echo "獲取到的参数name為:" . $name;
}

獲取完整網址

網址包含協議、域名、端口和請求路徑。通過判斷是否為HTTPS協議,結合主機名和請求URI來拼接完整網址。

 // 獲取网址
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? "https://" : "http://";
$host = $_SERVER['HTTP_HOST'];
$path = $_SERVER['REQUEST_URI'];
$url = $protocol . $host . $path;
echo "當前网址為:" . $url;

獲取請求路徑

請求路徑指URL中域名後面的部分(包括參數),可直接通過$_SERVER['REQUEST_URI']獲取。

 // 獲取路径
$path = $_SERVER['REQUEST_URI'];
echo "當前路径為:" . $path;

獲取代理IP

代理服務器IP地址可通過$_SERVER['HTTP_X_FORWARDED_FOR']變量獲取,但需注意該信息可能被偽造,僅供參考。

 // 獲取代理
$proxy = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';
echo "當前代理為:" . $proxy;

總結

以上方法涵蓋了在PHP中獲取當前訪問環境相關信息的常用手段,便於開發者在處理請求、生成動態鏈接或做數據統計時使用。這些變量是PHP內置的$_SERVER超全局數組提供的,能夠快速獲取客戶端請求的各種細節。