function getIpAddress($ip = ''){ // 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ループを使用するなど、さまざまな書き方があります。$t[ip]、会社のストアには、登録された IP が$COM[登録]、メンバーのログイン IP は$COM[ログイン]

 

結果グラフを表示します (ここでは州のみを表示しますが、都市または州 + 都市を表示することもできます)。php 関数の注釈に注意してください。