yuchao 发表于 2018-2-11 11:46:08


            可以记录访客的地理位置,操作系统,浏览器,IP,时间和访问的文件。
1.首先创建一个comm_function.php文件:
0) {
    preg_match("/Firefox\/([^;)]+)+/i", $sys, $b);
    $exp = "Firefox";
    $exp = $b; //获取火狐浏览器的版本号
} elseif (stripos($sys, "Maxthon") > 0) {
    preg_match("/Maxthon\/([\d\.]+)/", $sys, $aoyou);
    $exp = "傲游";
    $exp = $aoyou;
} elseif (stripos($sys, "MSIE") > 0) {
    preg_match("/MSIE\s+([^;)]+)+/i", $sys, $ie);
    $exp = "IE";
    $exp = $ie; //获取IE的版本号
} elseif (stripos($sys, "OPR") > 0) {
    preg_match("/OPR\/([\d\.]+)/", $sys, $opera);
    $exp = "Opera";
    $exp = $opera;
} elseif(stripos($sys, "Edge") > 0) {
    //win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配
    preg_match("/Edge\/([\d\.]+)/", $sys, $Edge);
    $exp = "Edge";
    $exp = $Edge;
} elseif (stripos($sys, "Chrome") > 0) {
    preg_match("/Chrome\/([\d\.]+)/", $sys, $google);
    $exp = "Chrome";
    $exp = $google; //获取google chrome的版本号
} elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){
    preg_match("/rv:([\d\.]+)/", $sys, $IE);
    $exp = "IE";
    $exp = $IE;
}else {
    $exp = "未知浏览器";
    $exp = "";
}
return $exp.'('.$exp.')';
}
/**
* 根据 客户端IP 获取到其具体的位置信息
* @param unknown $ip
* @return string
*/
function get_address_by_ip($ip) {
$url = "http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$info = curl_exec($curl);
curl_close($curl);
return $info;
}
function clientlog() {
$useragent = $_SERVER ['HTTP_USER_AGENT'];
$clientip = $_SERVER ['REMOTE_ADDR'];
$client_info = get_os ( $useragent ) . "---" . get_broswer ( $useragent );
$rawdata_position = get_address_by_ip ( $clientip );
$rawdata_position = json_decode($rawdata_position, true);
$country = $rawdata_position['data']['country'];
$province = $rawdata_position['data']['region'];
$city = $rawdata_position['data']['city'];
$nettype = $rawdata_position['data']['isp'];
$time = date ( 'y-m-d h:m:s' );
$data = "来自{$country} {$province} {$city }{$nettype} 的客户端: {$client_info},IP为:{$clientip},在{$time}时刻访问了{$_SERVER['PHP_SELF']}文件!\r\n";
$filename = "./log.log";
if (! file_exists ( $filename )) {
    fopen ( $filename, "w+" );
}
file_put_contents ( $filename, $data, FILE_APPEND );
}
页: [1]
查看完整版本: PHP 记录访客的浏览信息方法