PHP获取客户端及服务器端IP的封装类

2023-10-18 1682阅读

empty) {$ips = explode;$ip = trim;}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。如果不存在,检查$_SERVER['HTTP_X_FORWARDED_FOR']变量是否存在,如果存在则使用它作为客户端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。
你可以根据自己的需求进行修改和扩展这个类。

PHP获取客户端及服务器端IP的封装类
(图片来源网络,侵删)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]