在PHP中,可以通過$_SERVER['HTTP_HOST']變量獲取當前訪問的域名,返回瀏覽器地址欄中的主機名部分。
// 獲取當前域名
$domain = $_SERVER['HTTP_HOST'];
echo "當前域名為:" . $domain;
主機名通常指服務器的名稱或IP地址,可以使用$_SERVER['SERVER_NAME']來獲取當前服務器的主機名。
// 獲取主機名
$host = $_SERVER['SERVER_NAME'];
echo "當前主機為:" . $host;
完整的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中問號後的參數部分可通過$_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地址可通過$_SERVER['HTTP_X_FORWARDED_FOR']變量獲取,但需注意該信息可能被偽造,僅供參考。
// 獲取代理
$proxy = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';
echo "當前代理為:" . $proxy;
以上方法涵蓋了在PHP中獲取當前訪問環境相關信息的常用手段,便於開發者在處理請求、生成動態鏈接或做數據統計時使用。這些變量是PHP內置的$_SERVER超全局數組提供的,能夠快速獲取客戶端請求的各種細節。