溫馨提示×

PHP獲取客戶端及服務器端IP的封裝類

PHP
小云
103
2023-08-29 12:41:13
欄目: 云計算

以下是一個封裝了獲取客戶端和服務器端IP的PHP類的示例:

class IPHelper {
public static function getClientIP() {
$ip = $_SERVER['REMOTE_ADDR'];
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$ip = trim($ips[0]);
}
return $ip;
}
public static function getServerIP() {
$ip = $_SERVER['SERVER_ADDR'];
return $ip;
}
}
// 使用示例
$clientIP = IPHelper::getClientIP();
$serverIP = IPHelper::getServerIP();
echo "客戶端IP: " . $clientIP . "
";
echo "服務器IP: " . $serverIP;

這個類有兩個靜態方法,getClientIP()用于獲取客戶端IP,getServerIP()用于獲取服務器端IP。

getClientIP()方法中,首先檢查$_SERVER['HTTP_CLIENT_IP']變量是否存在,如果存在則使用它作為客戶端IP。如果不存在,檢查$_SERVER['HTTP_X_FORWARDED_FOR']變量是否存在,如果存在則使用它作為客戶端IP。最后,如果都不存在,則使用$_SERVER['REMOTE_ADDR']作為客戶端IP。

getServerIP()方法中,直接返回$_SERVER['SERVER_ADDR']變量作為服務器IP。

你可以根據自己的需求進行修改和擴展這個類。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女