GEO IP 无法在 Codeigniter 框架中运行

Posted

技术标签:

【中文标题】GEO IP 无法在 Codeigniter 框架中运行【英文标题】:GEO IP can't run in Codeigniter Framework 【发布时间】:2014-12-28 15:50:47 【问题描述】:

我遇到了一个问题,if-else 不起作用。这是代码。

$ip = $_SERVER['REMOTE_ADDR']; //ip is - 182.48.65.4
$adsmanager = file_get_contents("http://ipinfo.io/$ip/country");
         //adsmanager result: BD
if($adsmanager == "BD")
     echo '1. This is Bangladesh';
 else 
     echo '2. This is USA';

但运行后输出为“2。这是美国”

什么时候改

 if($adsmanager == "US")
         echo '1. This is Bangladesh';
     else 
         echo '2. This is USA';
    

输出是“2。这是美国”

有什么问题?我不明白。

【问题讨论】:

$adsmanager 返回BD 额外空间。如果您打印出$adsmanager 的长度,它将输出3。这就是为什么与BD 比较不起作用的原因。看看@riad 的回答。 【参考方案1】:

使用trim() 函数...然后你的匹配将起作用。因为页面返回带有输出的换行符。

if(trim($adsmanager) == "BD")
     echo '1. This is Bangladesh';
 else 
     echo '2. This is USA';

【讨论】:

以上是关于GEO IP 无法在 Codeigniter 框架中运行的主要内容,如果未能解决你的问题,请参考以下文章

从零实现Web框架Geo教程-错误恢复-07

fsockopen(): 无法连接到远程服务器 ip Codeigniter

CodeIgniter 3 数据库连接到自己的 IP

我无法在为 PHP CodeIgniter 框架实施 PayPal 库的贝宝自适应支付中添加商品编号、商品价格和数量

无法从地理位置获取城市名称

geo_ip.js 不工作