首页 > 教程 > 前端技术 > 二开教程

    收藏

    destoon使用第三方IP属地api的接口展示ip属地
    2022-09-05二开教程11℃
    广告
    核心提示://ip属地(来自太平洋电脑网)function getIpAddress($ip = ''){if(empty($ip)){$ip = $_REQUEST['ip'];if(empty($ip)) die('请传输ip地址'); // 根据实际调用方式去返回数据}$ch = curl_init();$url = 'https://whois.pconline.com.cn/ipJson.jsp?ip=' . $ip;curl
    //ip属地(来自太平洋电脑网)
    function getIpAddress($ip = ''){
        if(empty($ip)){
            $ip = $_REQUEST['ip'];
            if(empty($ip)) die('请传输ip地址'); // 根据实际调用方式去返回数据
        }
        $ch = curl_init();
        $url = 'https://whois.pconline.com.cn/ipJson.jsp?ip=' . $ip;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $data = curl_exec($ch);
        curl_close($ch);
        $data = mb_convert_encoding($data, 'utf-8', 'GB2312'); // 转换编码
        // 截取{}中的字符串
        $data = substr($data, strlen('({') + strpos($data, '({'), (strlen($data) - strpos($data, '})')) * (-1));
        // 将截取的字符串$data中的‘,’替换成‘&’   将字符串中的‘:‘替换成‘=’
        $data = str_replace('"', "", str_replace(":", "=", str_replace(",", "&", $data)));
        parse_str($data, $addressInfo); // 将字符串转换成数组格式
        //return $addressInfo['addr']; // 返回ip归属地,如:四川省成都市 电信ADS
        return $addressInfo['pro']; // 返回ip归属地,如:四川省
        //return $addressInfo['city']; // 返回ip归属地,如:成都市
    }
    以上代码源于20220705网络,我们需要把代码加入DESTOON自定义函数php文件中,文件位置 api/extend.func.php
    前端调取的方式
    不管在任意地方,首先你要得到原生ip的标签,在标签外面加上即可,如:
    {getIpAddress($ip)}
    注意:在不同的地方 $ip  有不同的写法,如:loop里用的是 $t[ip],公司商铺显示注册ip用的是 $COM[regip],会员登录ip用的是 $COM[loginip]
    显示结果图展(我们这里只显示了省,你可以显示城市或者 省+城市),注意看php函数的注解。


 
  • 文本链接:https://mbtxw.com/Course/show.php?itemid=130
  • 文章来源:模板模板
  • 版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
标签: IP属地
0相关评论

    QQ交流群

    模板天下网QQ群

  • 欢迎DT爱好者加群学习交流:68503649

    联系关注

  • MBTXW.COM腾讯微博
  • 536205792QQ号
  • 68503649加QQ群
  • 536205792@qq.com客服邮箱