PHP获取客户端及服务器端IP的封装类
以下是一个封装了获取客户端和服务器端IP的PHP类的示例:
```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。
你可以根据自己的需求进行修改和扩展这个类。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341