DedeCMS显示当前访问用户IP和地区的PHP调用方法
温馨提示:DedeCMS用户请及时前往织梦官网处理官方版权事宜。
DedeCMS显示当前访问用户IP和地区的PHP调用方法
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
为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。
内容有用
热门主题
相关阅读
- 织梦DedeCMS手机端自动压缩保存独立图片
- 织梦DedeCMS如何调用点赞率
- 织梦dedecms通过AJAX实现PHP自动检测订单数量,并发送语音提示
- DedeCMS查询最近30分钟内提交的数据的方法
- 织梦dedecms标签tag伪静态升级版,将URL设置为id.html附伪静态规则
- 织梦问答模块PHP7报错解决方法
- dedecms织梦调用文章图片数量的标签方法
- 织梦DedeCMS删除TAG标签后百度抓取返回404状态码的解决方法
- dedecms织梦arclist判断自定义字段为空时,输出自定义内容
- 织梦后台添加了一篇文章,但是前台显示两篇一模一样的文章的解决方法
- 织梦后台文档列表数据统计错乱的解决方法
- dedecms图集的关键词保存后再编辑关键词之间隔开的逗号消失的修复方法