• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP记录访客的浏览信息实现代码

php 搞代码 3年前 (2022-01-22) 16次浏览 已收录 0个评论

如何实现可以记录访客的地理位置,操作系统,浏览器,IP,时间和访问的文件。本文主要为大家分享一篇PHP 记录访客的浏览信息方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。

1.首先创建一个comm_function.php文件:

<?php//echo $_SERVER['HTTP_USER_AGENT'];//echo "<br />".$_SERVER ['REMOTE_ADDR'];/** * 获取客户端类型,手机还是电脑,以及相应的操作<strong style="color:transparent">9来源gaodai#ma#com搞@代~码$网</strong>搞gaodaima代码系统类型。 * * @param string $subject */function get_os($agent) {  $os = false;  if (preg_match ( '/win/i', $agent ) && strpos ( $agent, '95' )) {    $os = 'Windows 95';  } else if (preg_match ( '/win 9x/i', $agent ) && strpos ( $agent, '4.90' )) {    $os = 'Windows ME';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/98/i', $agent )) {    $os = 'Windows 98';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 6.0/i', $agent )) {    $os = 'Windows Vista';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 6.1/i', $agent )) {    $os = 'Windows 7';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 6.2/i', $agent )) {    $os = 'Windows 8';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 10.0/i', $agent )) {    $os = 'Windows 10'; // 添加win10判断  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 5.1/i', $agent )) {    $os = 'Windows XP';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt 5/i', $agent )) {    $os = 'Windows 2000';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/nt/i', $agent )) {    $os = 'Windows NT';  } else if (preg_match ( '/win/i', $agent ) && preg_match ( '/32/i', $agent )) {    $os = 'Windows 32';  } else if (preg_match ( '/linux/i', $agent )) {    if(preg_match("/Mobile/", $agent)){      if(preg_match("/QQ/i", $agent)){        $os = "Android QQ Browser";      }else{        $os = "Android Browser";      }    }else{      $os = 'PC-Linux';    }  } else if (preg_match ( '/Mac/i', $agent )) {    if(preg_match("/Mobile/", $agent)){      if(preg_match("/QQ/i", $agent)){        $os = "IPhone QQ Browser";      }else{        $os = "IPhone Browser";      }    }else{      $os = 'Mac OS X';    }  } else if (preg_match ( '/unix/i', $agent )) {    $os = 'Unix';  } else if (preg_match ( '/sun/i', $agent ) && preg_match ( '/os/i', $agent )) {    $os = 'SunOS';  } else if (preg_match ( '/ibm/i', $agent ) && preg_match ( '/os/i', $agent )) {    $os = 'IBM OS/2';  } else if (preg_match ( '/Mac/i', $agent ) && preg_match ( '/PC/i', $agent )) {    $os = 'Macintosh';  } else if (preg_match ( '/PowerPC/i', $agent )) {    $os = 'PowerPC';  } else if (preg_match ( '/AIX/i', $agent )) {    $os = 'AIX';  } else if (preg_match ( '/HPUX/i', $agent )) {    $os = 'HPUX';  } else if (preg_match ( '/NetBSD/i', $agent )) {    $os = 'NetBSD';  } else if (preg_match ( '/BSD/i', $agent )) {    $os = 'BSD';  } else if (preg_match ( '/OSF1/i', $agent )) {    $os = 'OSF1';  } else if (preg_match ( '/IRIX/i', $agent )) {    $os = 'IRIX';  } else if (preg_match ( '/FreeBSD/i', $agent )) {    $os = 'FreeBSD';  } else if (preg_match ( '/teleport/i', $agent )) {    $os = 'teleport';  } else if (preg_match ( '/flashget/i', $agent )) {    $os = 'flashget';  } else if (preg_match ( '/webzip/i', $agent )) {    $os = 'webzip';  } else if (preg_match ( '/offline/i', $agent )) {    $os = 'offline';  } else {    $os = '未知操作系统';  }  return $os;}/** * 获取 客户端的浏览器类型 * @return string */function get_broswer($sys){  if (stripos($sys, "Firefox/") > 0) {    preg_match("/Firefox\/([^;)]+)+/i", $sys, $b);    $exp[0] = "Firefox";    $exp[1] = $b[1]; //获取火狐浏览器的版本号  } elseif (stripos($sys, "Maxthon") > 0) {    preg_match("/Maxthon\/([\d\.]+)/", $sys, $aoyou);    $exp[0] = "傲游";    $exp[1] = $aoyou[1];  } elseif (stripos($sys, "MSIE") > 0) {    preg_match("/MSIE\s+([^;)]+)+/i", $sys, $ie);    $exp[0] = "IE";    $exp[1] = $ie[1]; //获取IE的版本号  } elseif (stripos($sys, "OPR") > 0) {    preg_match("/OPR\/([\d\.]+)/", $sys, $opera);    $exp[0] = "Opera";    $exp[1] = $opera[1];  } elseif(stripos($sys, "Edge") > 0) {    //win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配    preg_match("/Edge\/([\d\.]+)/", $sys, $Edge);    $exp[0] = "Edge";    $exp[1] = $Edge[1];  } elseif (stripos($sys, "Chrome") > 0) {    preg_match("/Chrome\/([\d\.]+)/", $sys, $google);    $exp[0] = "Chrome";    $exp[1] = $google[1]; //获取google chrome的版本号  } elseif(stripos($sys,'rv:')>0 && stripos($sys,'Gecko')>0){    preg_match("/rv:([\d\.]+)/", $sys, $IE);    $exp[0] = "IE";    $exp[1] = $IE[1];  }else {    $exp[0] = "未知浏览器";    $exp[1] = "";  }  return $exp[0].'('.$exp[1].')';}/** * 根据 客户端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 );}

2.在别的文件引入这个comm_function.php

require_once "comm_function.php";

相关推荐:

php实现获取访客信息的实例分析

php获取访客(客户端)IP和地理位置的文字教程

PHP获取访客IP等实例详解

以上就是PHP记录访客的浏览信息实现代码的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP记录访客的浏览信息实现代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址