在 PHP 中,Header 用來在向瀏覽器輸出內容之前更新 HTTP 響應頭信息,如設置 Cookie、重定向或狀態碼等。
其中,IP 地址也是常常需要在 Header 中進行操作的一個數據。以下是一些常見應用情景以及對應的代碼示例:
獲取客戶端 IP 地址并判斷用戶地區
function getUserIP(){ //判斷服務器如果用了代理,需要通過特定標識獲取客戶端的真實IP地址 if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip_address = $_SERVER['HTTP_CLIENT_IP']; } elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR']; } else{ $ip_address = $_SERVER['REMOTE_ADDR']; } return $ip_address; } $user_ip = getUserIP(); //通過ip地址獲取用戶位置信息 $location = file_get_contents("http://ip-api.com/json/".$user_ip); //將字符串解碼為關聯數組 $location = json_decode($location, true); //打印出返回數據 echo "您所在的城市是:".$location['city'];
設置 IP 地址過期時間
$ip_address = "127.0.0.1"; $expire_time = time() + 3600; // 設置 IP 地址的過期時間為 1 小時后 header("Set-Cookie: user_ip=".$ip_address."; expires=".date('D, d M Y H:i:s', $expire_time)." GMT; path=/");
重定向到訪問來源頁面
session_start(); if(isset($_SESSION['last_page'])){ $last_page = $_SESSION['last_page']; } else{ $last_page = "http://www.yoursite.com"; } //重定向 header("Location: $last_page");以上是一些常見的 Header 操作場景,其中對 IP 地址的應用也比較頻繁。通過以上代碼示例,可以更方便地進行 IP 地址相關的操作。