帝国模板之家为广大用户提供专业、一站式建站服务。

帝国cms教程

帝国cms教程栏目,提供精品建站,仿站,二次开发,安装,标签使用等图文教程,帮助建设和管理好你的帝国cms站点。

当前位置:首页 > 教程 > 帝国cms教程 > 正文

[原创]帝国cms模板中获取用户所在城市,调用对应城市分站信息的方法

帝国模板之家 2020-09-16 帝国cms教程 评论

在做城市分站的时候,我们需要在帝国cms模板中获取用户所在的城市,调用对应城市的相关信息。如何获取到用户所在的城市呢?下面我们来看看实现方法。

1.首先在系统模型中先要创建city字段,发布文章时选择选择对应城市,具体操作可以参考帝国模板之家相关文章。

2.在/e/class/userfun.php 中添加如下函数:

function detect_city($ip) {      
    $default = 'UNKNOWN';  
    $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';        
    $url = 'https://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);
    $ch = curl_init();
               
    $curl_opt = array(
        CURLOPT_FOLLOWLOCATION  => 1,
        CURLOPT_HEADER      => 0,
        CURLOPT_RETURNTRANSFER  => 1,
        CURLOPT_USERAGENT   => $curlopt_useragent,
        CURLOPT_URL       => $url,
        CURLOPT_TIMEOUT         => 1,
        CURLOPT_REFERER         => 'https://' . $_SERVER['HTTP_HOST'],
    );
               
    curl_setopt_array($ch, $curl_opt);
               
    $content = curl_exec($ch);
               
    if (!is_null($curl_info)) {
        $curl_info = curl_getinfo($ch);
    }
               
    curl_close($ch);
               
    if ( preg_match('{<li>City : ([^<]*)</li>}i', $content, $regs) )  {
        $city = $regs[1];
    }
    if ( preg_match('{<li>State/Province : ([^<]*)</li>}i', $content, $regs) )  {
        $state = $regs[1];
    }
        
    if( $city!='' && $state!='' ){
      $location = $city . ', ' . $state;
      return $location;
    }else{
      return $default; 
    }      
}

3.在帝国cms模板中调用获取城市的函数,调用对应城市信息。

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$city = detect_city($ip);
?>
[e:loop={'selfinfo',10,0,0,"city='{$city}'"}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]

推荐教程:帝国CMS教程

以上就是帝国cms模板中获取用户所在城市,调用对应城市信息的方法,大家赶紧测试一下吧,更多内容请关注帝国模板之家。

这世上无忧无虑的人,反而相对寿命会长点。

已有 位小伙伴发表了看法

欢迎 发表评论

  • 匿名发表

关于

帝国cms模板

网页插件

帝国模板之家 | www.moyouyouw.cn

本站所有模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系站长删除,谢谢! 寻找帝国cms模板首选帝国模板之家,用心做站,上线至今广受好评,值得信赖!

  • 交流群1:帝国cms交流群1
  • 交流群2:帝国cms交流群2
在线QQ 给我留言