一、什麼是$_SERVER
在PHP中,$_SERVER是一個全局數組變數,其中保存了伺服器提供的環境變數和信息。其中包含的信息比較詳細,包括HTTP請求頭、IP地址、埠等。
二、常用的$_SERVER變數
1. $_SERVER[‘HTTP_HOST’]
$_SERVER[‘HTTP_HOST’]保存了當前請求的主機頭(Host Header),這個變數常常被用來判斷當前請求的來源。比如:
if ($_SERVER['HTTP_HOST'] == 'www.example.com') { // 進行相應的操作 }
2. $_SERVER[‘HTTP_REFERER’]
$_SERVER[‘HTTP_REFERER’]保存了當前請求的來源頁面地址(referer)。它通常被用來判斷請求是否來自於自己的網站或者外部站點,從而做出相應的響應。比如:
if (strpos($_SERVER['HTTP_REFERER'], 'example.com') !== false) { // 來源於example.com,進行相應的操作 }
3. $_SERVER[‘REQUEST_METHOD’]
$_SERVER[‘REQUEST_METHOD’]保存了當前請求的HTTP方法,通常用來判斷當前請求的類型。比如:
if ($_SERVER['REQUEST_METHOD'] == 'POST') { // 處理POST請求 }
4. $_SERVER[‘QUERY_STRING’]
$_SERVER[‘QUERY_STRING’]保存了當前請求的查詢參數。比如:
// https://example.com/search.php?q=php echo $_SERVER['QUERY_STRING']; // 輸出 "q=php"
三、其他常用的$_SERVER變數
1. $_SERVER[‘REMOTE_ADDR’]
$_SERVER[‘REMOTE_ADDR’]保存了客戶端的IP地址,常用來記錄訪問者的IP。比如:
// 記錄訪問者的IP $log = "IP: " . $_SERVER['REMOTE_ADDR'] . " 訪問了頁面\n"; file_put_contents('access.log', $log, FILE_APPEND);
2. $_SERVER[‘HTTP_USER_AGENT’]
$_SERVER[‘HTTP_USER_AGENT’]保存了發起當前HTTP請求的客戶端的User-Agent字元串。通過這個變數,我們可以獲得瀏覽器、操作系統以及是否為蜘蛛爬蟲等信息。比如:
$user_agent = $_SERVER['HTTP_USER_AGENT']; if (strpos($user_agent, 'Firefox') !== false) { echo '您正在使用Firefox瀏覽器'; }
3. $_SERVER[‘SERVER_NAME’]
$_SERVER[‘SERVER_NAME’]保存了當前Web伺服器的主機名或者IP地址,通常用來構造當前Web伺服器中某個資源的URL。比如:
// 顯示網站logo的地址 echo 'https://' . $_SERVER['SERVER_NAME'] . '/images/logo.png';
四、總結
在本文中,我們詳細介紹了PHP $_SERVER變數,包括常用的HTTP請求變數和其他常用的變數。了解這些變數將幫助我們更好地理解當前請求所處的環境,以及提供更好的用戶體驗。
原創文章,作者:HIVHA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332980.html