织梦优化

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

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

温馨提示:DedeCMS用户请及时前往织梦官网处理官方版权事宜。
DedeCMS显示当前访问用户IP和地区的PHP调用方法

当前访问用户地域显示PHP方法

打开/include/extend.func.php,页面底部增加一下代码。

//获取用户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;
}

采用百度的API接口,其他还有新浪、淘宝的,但测试后都失效了,由于接口经常变化,本例子也无法保证该接口长期有效。

模板调用方法如下:

{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}

如果需要输入IP,则使用{dede:php}echo GetIp(){/dede:php}

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

本文属原创,转载请注明原文:http://www.zhimatong.com/jiaocheng/630.html

为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。

内容有用

联系
顾问

在线
客服
购物车
账号登录

没有账号?立即注册

忘记密码

登录即同意用户协议没有账号? 立即注册
账号注册
我已阅读并同意用户协议
立即注册
注册即同意用户协议已有账号? 立即登录
找回密码

操作步骤:邮箱验证->设置新密码

注册即同意用户协议已有账号? 立即登录