我能够在本地主机上获得机器的IP地址。 但是发生了致命错误。
我尝试了很多次,但无法解决。
<?php
function getclientip()
{
if(!empty($_SERVER['HTTP_CLIENT_IP']))
{
//ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
//ip pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
echo 'User Real IP - '.getclientip();
?>
有人能帮助我减少此错误吗?
致命错误:无法重新声明getclientip()(先前在 Z:\ xampp \ htdocs \ Mysite \ function.php:4)在 第19行的Z:\ xampp \ htdocs \ Mysite \ function.php
答案 0 :(得分:3)
函数getclientip()
已在第4行的function.php
中定义为错误消息状态。
可以采用三种解决方案来解决此问题:
1)使用现有功能:使用现有功能而不是编写新功能。
2)使用不同的名称编写新功能:如果新功能的用途不同,请使用其他名称。
例如getclientipaddress()
3)仅在没有相同名称的功能时定义功能:编写功能并仅在不存在具有相同名称的功能时才允许执行。
有一个PHP函数:function_exists(),用于检查是否已经定义了相同名称的函数。
因此,如果已定义函数,则可以避免出现致命错误。
检查功能是否存在的代码:
if (! function_exists('getclientip')) {
function getclientip() {
}
}