每天60秒知晓世界

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

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

//获取用户IP
function check_address($ip){
if(empty($ip)){
return '缺少用户ip';
}
$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=&_=';
//调用了百度接口
$str = file_get_contents($url);
//获取返回内容
$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
$str = mb_convert_encoding($str, 'UTF-8', $encode);
//转化编码
$str=json_decode($str);
//转换为json类型
$str=$str->data[0]->location;
//取出数据
return $str;
}

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

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

文章标题:DedeCMS 显示当前访问用户地区PHP调用方法

文章链接:https://zy.prmath.com/3431.html

更新时间:2021年11月11日

1、本站只提供资源,不提供技术支持,介意勿下!具体可点击:免责声明,查看其中各项条款声明!
2、资源所标价格,是对本站收集、整理、打包、编辑详情以及本站运营费用的适当补偿,非资源价格,请支持正版,谢谢!
3、如若发现图片加载失效、演示站或资源下载链接失效,可点击:资源补档,进行反馈,我们将及时修正!
4、如有侵权请发邮件至:prmath@163.com,我们会第一时间进行审核处理。

给TA充电
共{{data.count}}人
人已充电
技术教程

为 WordPress 添加前台 AJAX 注册登录功能

2021-11-11 15:11:05

技术教程

月老姻缘盲盒交友源码部署教程

2021-11-14 16:58:56

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

Warning: error_log(/www/wwwroot/zy.prmath.com/wp-content/plugins/spider-analyser/#log/log-0208.txt): failed to open stream: No such file or directory in /www/wwwroot/zy.prmath.com/wp-content/plugins/spider-analyser/spider.class.php on line 2900