访问地址:你的域名/map/map.php

仅是其中一个文件代码,其余的请下载压缩包使用!有详细说明

大数据访问图

<?php
/*
* 获取每个独立访客的IP地理位置的经纬度保存到txt文件
* 腾讯地图开放平台地址:https://lbs.qq.com/
*/

$server_ip_arr = [ //定义你服务器公网IP的地理位置经纬度
    "server_lat" => 31.230355,
    "server_lng" => 121.473710
];
$API_key = '88888888888888888'; //腾讯地图KEY
$server_ip = '114.114.114.114'; //服务器公网IP地址
$ifcdn = false;  //当前网站是否启用了CDN,否false

$ret = map_add($ifcdn, $server_ip_arr, $server_ip, $API_key); //执行
if ($_GET['type'] == 'map') {
    var_dump($ret); // 浏览器地址访问 /map.php?type=map  调试并打印结果
}

function map_add($ifcdn = false, $server_ip_arr = null, $server_ip = "", $API_key = "")
{
    $file =  dirname(__FILE__) . "/data/" . date("Y-m-d") . ".txt";
    if (!file_exists($file)) {
        @mkdir(dirname(__FILE__) . "/data", 0777, true);
        @file_put_contents($file, '');
    }
    $put_data = @file_get_contents($file);

    $use_ip = Get_User_ip();
    if (strpos($put_data, $use_ip) === false) {
        $data = map_curl_get($API_key, $use_ip);
        $arr = json_decode($data, true);
        $lat = $arr['result']['location']['lat'];
        $lng = $arr['result']['location']['lng'];
    } else {
        return '用户数据已存在';
    }

    $cdn_ip = $_SERVER['REMOTE_ADDR'];
    if ($ifcdn == true and $cdn_ip != $server_ip) {
        $server_ip = $cdn_ip;
        if (strpos($put_data, $cdn_ip) === false) {
            $data = map_curl_get($API_key, $cdn_ip);
            $arr = json_decode($data, true);
            $to_lat = $arr['result']['location']['lat'];
            $to_lng = $arr['result']['location']['lng'];
        } else {
            $arr = map_obg_data($put_data, $cdn_ip);
            $to_lat = $arr["to"]["lat"];
            $to_lng = $arr["to"]["lng"];
        }
    } else {
        $to_lat = $server_ip_arr["server_lat"];
        $to_lng = $server_ip_arr["server_lng"];
        $server_ip = 'server';
    }

    if (!empty($lat) and !empty($lng) and !empty($to_lat) and !empty($to_lng)) {
        $data_arr = array(
            "from" => array(
                "lat" => $lat,
                "lng" => $lng,
                "uip" => $use_ip
            ),
            "to" => array(
                "lat" => $to_lat,
                "lng" => $to_lng,
                "ip" => $server_ip
            ),
        );
        $put_file = json_encode($data_arr);
        if (strpos($put_data, $put_file) === false) {
            if (file_put_contents($file, $put_file . "\n", FILE_APPEND)) {
                return $put_file;
            } else {
                return '数据写入失败';
            }
        } else {
            return '数据重复未保存';
        }
    }
}

function map_curl_get($Api_key, $ip)
{
    $url = "https://apis.map.qq.com/ws/location/v1/ip?key={$Api_key}&ip=" . $ip;
    $ch = curl_init();
    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);
    curl_setopt($ch, CURLOPT_REFERER, 'http://' . $_SERVER['HTTP_HOST']);
    curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

function Get_User_ip()
{
    if ($_SERVER['HTTP_CLIENT_IP']) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif ($_SERVER['HTTP_X_FORWARDED_FOR']) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif ($_SERVER['REMOTE_ADDR']) {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

function map_obg_data($data, $str)
{
    $array = explode("\n", $data);
    foreach ($array as $value) {
        if (strpos($value, $str) !== false) {
            $obg = $value;
            break;
        }
    }
    return json_decode($obg, true);
}

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
  • 本站名称:追梦人博客
  • 本站永久地址:https://www.dreamren.cn
  • 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系在线客服进行删除处理
  • 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责
  • 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
  • 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新
  • 如果您喜欢本站,♥点这儿开通会员资助本站
  • 如遇软件内有加群提示,为修改者自留,非本站信息,注意鉴别
  • 这些信息可能会帮助你了解本站:

SVIP会员 关于我们 网址导航 标签云