PHP怎么写访客浏览信息记录?
程序员文章站
2022-03-22 23:39:52
...
本篇文章主要介绍PHP怎么写访客浏览信息记录,感兴趣的朋友参考下,希望对大家有所帮助。
1.首先创建一个comm_function.php文件:
<?php //echo $_SERVER['HTTP_USER_AGENT']; //echo "<br />".$_SERVER ['REMOTE_ADDR']; /** * 获取客户端类型,手机还是电脑,以及相应的操作系统类型。 * * @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";
相关推荐:
JS基于cookie实现来宾统计记录访客信息的方法_javascript技巧
以上就是PHP怎么写访客浏览信息记录?的详细内容,更多请关注其它相关文章!
上一篇: js函数与php函数的区别实例浅析
下一篇: selinux怎么关闭
推荐阅读
-
PHP 记录访客的浏览信息方法
-
求教个mysql基础有关问题.(PHP中)复制一条id为a的记录到同一张表里,生成一条新的记录,在此过程中修改一些字段的值,该怎么写
-
PHP Cookie记录用户历史浏览信息例子
-
PHP判断访客是否移动端浏览器访问 php 浏览器信息 php 浏览器 打开 php判断微信浏览
-
请教用php怎么实现 当别人浏览小弟我的信息时,小弟我的电脑出现提示?谢谢
-
PHP Cookei记录用户历史浏览信息的代码_php实例
-
PHP Cookei记录用户历史浏览信息的代码,phpcookei
-
如何利用php实现获取访客IP和地区位置信息以及浏览器与来源页面的实例分享
-
求教个mysql基础有关问题.(PHP中)复制一条id为a的记录到同一张表里,生成一条新的记录,在此过程中修改一些字段的值,该怎么写
-
利用img远程调用图片记录访问者浏览器信息操作系统等_PHP教程