如何通过PHP检测中东访问者?
发布时间:2020-12-13 16:22:12 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找一种明确的方式来检测访客是否来自中东.如果是的话,我需要显示一个不同的标题图像(当前的标题图像中有一个标记图像,所以它不受欢迎). 我可以编写if then else,但我只是想找一个简单的函数来检测.这是我用来通过IP获取国家的功能: function get_co
我正在寻找一种明确的方式来检测访客是否来自中东.如果是的话,我需要显示一个不同的标题图像(当前的标题图像中有一个标记图像,所以它不受欢迎).
我可以编写if then else,但我只是想找一个简单的函数来检测.这是我用来通过IP获取国家的功能: function get_country_by_ip($ip){ if(!$ip) return false; # Missing parameter # Pull the XML $url = 'http://api.hostip.info/?ip='.$ip; $xml = simplexml_load_file($url); # Parse the data and store into array $citystate = explode(",",$xml->children('gml',true)->featureMember->children()->Hostip->children('gml',true)->name); $result['city'] = $citystate[0]; $result['state'] = $citystate[1]; $result['country'] = $xml->children('gml',true)->featureMember->children()->Hostip->countryName; $result['country_abbr'] = $xml->children('gml',true)->featureMember->children()->Hostip->countryAbbrev; return (object) $result; } 有人可以帮忙吗?谢谢. 解决方法
您可以定义哪些国家属于“中东”组 – 通过直接在PHP文件或数据库中定义可配置数组,然后检查您的函数返回的给定国家/地区是否属于属于“中东”的国家/地区列表.通过你的例子,这样的事情:
$middleEast = array( 'Syria','Iraq',... // all the rest ); $country = get_country_by_ip($ip); if (in_array($country['country'],$middleEast) { echo 'Middle East!'; exit; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |