橘子网资讯

DedeCMS 显示当前访问用户地区PHP调用方法

释放双眼,带上耳机,听听看~!

当前访问用户地域显示 PHP 方法,打开/include/extend.func.php,在最下面增加一下代码。采用百度的 API 接口,其他还有新浪、淘宝的,但测试后都失效了,由于接口经常变化,本例子也无法保证该接口长期有效。另外一些新的 IP 并未进入该接口的 IP 库,可能也显示不出,系统会慢慢补充:

  1. //获取用户IP
  2. function check_address($ip){
  3. if(empty($ip)){
  4. return '缺少用户ip';
  5. }
  6. $url = 'https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query='.$ip.'&co=&resource_id=6006&t=&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=&_=';
  7. //调用了百度接口
  8. $str = file_get_contents($url);
  9. //获取返回内容
  10. $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
  11. $str = mb_convert_encoding($str, 'UTF-8', $encode);
  12. //转化编码
  13. $str=json_decode($str);
  14. //转换为json类型
  15. $str=$str->data[0]->location;
  16. //取出数据
  17. return $str;
  18. }

模板调用方法如下,如果调用失效,找到系统设置 -> 其他设置 -> 模板引擎禁用标签,删除 PHP 保存即可:

  1. {dede:php}
  2. $str=check_address(GetIp());//GetIP()为当前访问用户的真实IP(xxx.xxx.xxx.xxx),输入结果为“广东省珠海市 中国移动”
  3. $t1 = mb_strpos($str,'');//从结果中的第一个字符开始
  4. $t2 = mb_strpos($str,'市 ');//从'市'左侧结束,当然可以保留该字符,从空格左侧开始,如' '
  5. echo $s = mb_substr($str,$t1,$t2-$t1);
  6. //输出结果为“广东省珠海”
  7. {/dede:php}

给TA买糖
共{{data.count}}人
人已赞赏
专题投稿免费资源每日一阅

Steam喜+1 《狂野西部:枪手》

2021-12-15 18:24:20

每日一阅

人生就像开车,起步需要勇气,刹车体现格局

2021-11-24 7:31:01

 

本站只提供资源,不提供技术支持,介意勿下!如有侵权请发邮件至:1001@.juzig.cn 我们会第一时间进行审核处理。 资源所标价格,是对本站收集、整理、打包、编辑详情以及本站运营费用的适当补偿,非资源价格,请支持正版,谢谢! 如若发现图片加载失效、演示站或资源下载链接失效,可点击:工单提交,进行反馈,我们将及时修正!


本站资源大多来自网络,版权争议与本站无关,所有资源仅限用于学习和研究目的。不得将其用于商业或者非法用途,否则,一切后果请用户自负。我们不保证资源的长久可用性,通过使用本站资源随之而来的风险与本站无关。您必须在下载后的24小时内,从您的设备中彻底删除所下资源。如果您喜欢该资源,请支持正版软件/程序,购买注册,得到更好的正版服务。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索