设为首页
收藏本站
开启辅助访问
切换到宽版
登录
立即注册
快捷导航
发布信息
搜索
搜索
网站首页
自丢网
社区论坛
自丢网论坛
附件中心
源码下载
邀请码
丢币充值
帖子
搜索附件
搜索附件
自丢网
›
附件中心
›
建站程序/IT教程
›
PHP教程
›
网站访客大数据地图前后端源码.zip
板块导航
+
模板下载
+
建站程序/IT教程
·
源码下载
·
修罗xiuno教程
·
Discuz教程
·
zzz资源/教程
·
织梦教程
·
服务器教程
·
数据库教程
·
Html/Html5教程
·
JavaScript教程
·
Css/Css3教程
·
建站/web前端教程
·
PHP教程
·
其他编程教程
·
小程序app教程
·
PPT模板/素材
·
Word简历模板/素材
·
Excel模板/素材
·
素材中心
·
百科知识
+
综合教程资源
热门下载
左侧广告
版权所有:自丢网
For 2020-2050 ©
zidiu.com
网站访客大数据地图前后端源码.zip
打开方式: winrar
资料大小: 5.02 KB
下载次数: 0
上传会员:
admin
上传时间: 2022-05-01
本站网址:
www.zidiu.com
查看附件所在的主题
下载附件 售价 5
复制链接推荐给好友
点击附件下载:下载附件 售价 5
php网站访客大数据地图前后端源码教程分享:
php网站访客大数据地图前后端源码教程分享
访问地址:你的域名/map
代码如下:
<?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);
}
复制代码
详细请下载附件: