發(fā)款php蜘蛛統(tǒng)計(jì)插件只要有mysql就可用
于是昨天便認(rèn)真的做了一下,功能多一點(diǎn),可以對(duì)各種搜索引擎統(tǒng)計(jì)分析。可以在多個(gè)時(shí)間段進(jìn)行查看。其實(shí)代碼很簡(jiǎn)單,為了更簡(jiǎn)潔些,代碼壓縮到6k.分為6個(gè)文件
1.安裝程序 spilder_install.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>安裝插件</title> </head> <?php if($_POST['act']=='install')//如果是安裝 { $mysql_host=trim($_POST['mysql_host']);//獲取主機(jī) $mysql_user=trim($_POST['mysql_user']);//獲取用戶名 $mysql_pwd=trim($_POST['mysql_pwd']);//獲取密碼 $mysql_db=trim($_POST['mysql_db']);//數(shù)據(jù)庫(kù) $table_prefix=trim($_POST['table_prefix']);//獲取前綴 if($link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd)) { echo "連接服務(wù)器成功!.................<br>"; } else { echo "<script>alert('鏈接出錯(cuò)!請(qǐng)檢查數(shù)據(jù)庫(kù)服務(wù)器配置!');history.go(-1);</script>"; } if(mysql_select_db($mysql_db,$link)) { echo "連接數(shù)據(jù)庫(kù)成功!.............<br>正在創(chuàng)建表................<br>"; } $sql="CREATE TABLE `spilder_sp_count` ( `id` bigint(20) NOT NULL auto_increment, `r_time` int(11) NOT NULL, `r_name` varchar(50) NOT NULL, `r_url` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=4 ; "; mysql_query("DROP TABLE IF EXISTS `".$table_prefix."sp_count`;");//刪除已存在 $sql=str_replace("spilder_",$table_prefix,$sql);//替換前綴 if(mysql_query($sql)) { echo "表創(chuàng)建成功!正在寫入文件"; } $f=file_get_contents("spilder_config.php");//獲取配置內(nèi)容 $f=str_replace(" ","",$f);//去除空格 $f=preg_replace("/mysql_host=.*;/iUs","mysql_host='{$mysql_host}';",$f); $f=preg_replace("/mysql_user=.*;/iUs","mysql_user='{$mysql_user}';",$f); $f=preg_replace("/mysql_pwd=.*;/iUs","mysql_pwd='{$mysql_pwd}';",$f); $f=preg_replace("/mysql_db=.*;/iUs","mysql_db='{$mysql_db}';",$f); $f=preg_replace("/table_prefix=.*;/iUs","table_prefix='{$table_prefix}';",$f); $f=preg_replace("/sp_admin=.*;/iUs","sp_admin='{$sp_admin}';",$f); file_put_contents("spilder_config.php",$f); file_put_contents("isinstall.txt","OK"); echo "恭喜!薦禮啦蜘蛛統(tǒng)計(jì)程序安裝成功 <a href=\"index.php\">查看</a>"; exit(); } ?> <body> <table width="600" border="0" align="center"> <tr> <td align="center">薦禮啦 蜘蛛統(tǒng)計(jì)查看器</td> </tr> </table> <form method="post"> <table width="600" border="0" align="center" cellspacing="0"> <tr> <td width="280"> </td> <td width="610">開(kāi)始安裝</td> </tr> <tr> <td align="right">服務(wù)器:</td> <td><input name="mysql_host" type="text" id="mysql_host" value="localhost" /> (一般不用改)</td> </tr> <tr> <td align="right">用戶名:</td> <td><input type="text" name="mysql_user" id="mysql_user" /></td> </tr> <tr> <td align="right">密碼:</td> <td><input type="password" name="mysql_pwd" id="mysql_pwd" /></td> </tr> <tr> <td align="right">數(shù)據(jù)庫(kù):</td> <td><input type="text" name="mysql_db" id="mysql_db" /></td> </tr> <tr> <td align="right">表前綴:</td> <td><input name="table_prefix" type="text" id="table_prefix" value="spilder_" /> <input name="act" type="hidden" id="act" value="install" /></td> </tr> <tr> <td align="right">管理密碼:</td> <td><input type="password" name="sp_admin" id="sp_admin" /></td> </tr> <tr> <td align="right"> </td> <td><input type="submit" name="button" id="button" value="安裝" /></td> </tr> </table> </form> </body> </html>
2.蜘蛛記錄文件
<?php require("spilder_config.php");//調(diào)用配置文件 $link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die("服務(wù)器連接出錯(cuò)");//鏈接數(shù)據(jù)庫(kù) mysql_select_db($mysql_db,$link) or die('數(shù)據(jù)庫(kù)連接出錯(cuò)'); $searchbot = get_naps_bot(); if($searchbot) { date_default_timezone_set('PRC'); //設(shè)置默認(rèn)時(shí)區(qū) $r_time=strtotime(date("Y-m-d H:i:s"));//最后更新時(shí)間 $ServerName = $_SERVER["SERVER_NAME"] ; $ServerPort = $_SERVER["SERVER_PORT"] ; $ScriptName = $_SERVER["SCRIPT_NAME"] ; $QueryString = $_SERVER["QUERY_STRING"] ; $url="http://".$ServerName ; If ($ServerPort != "80") { $url = $url.":".$ServerPort ; } $url=$url.$ScriptName ; If ($QueryString !="") { $url=$url."?".$QueryString ; } //$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $GLOBALS['db']->db_query("insert into {$table_prefix}sp_count(r_time,r_name,r_url) values('$r_time','$searchbot','$url')"); } function get_naps_bot() { $useragent = strtolower($_SERVER['HTTP_USER_AGENT']); if (strpos($useragent, 'googlebot') !== false){ return 'Googlebot'; }elseif (strpos($useragent, 'msnbot') !== false){ return 'MSNbot'; }elseif (strpos($useragent, 'slurp') !== false){ return 'Yahoobot'; }elseif (strpos($useragent, 'baiduspider') !== false){ return 'Baiduspider'; }elseif (strpos($useragent, 'sogou') !== false){ return 'Sogoubot'; }elseif (strpos($useragent,'soso') !== false){ return 'Sosobot'; }elseif(strpos($useragent,'youdao')!==false) { return 'Youdao'; } else { return false; } } ?>
3.蜘蛛統(tǒng)計(jì)查看文件
<?php session_start(); require("spilder_config.php"); if($_GET['act']=='logout') { $_SESSION['ss_sp_admin']='';//清空 } if($_GET['sp_admin_login']) { if($_GET['sp_admin_login']==$sp_admin) { $_SESSION['ss_sp_admin']=$sp_admin; } } date_default_timezone_set('PRC'); //設(shè)置默認(rèn)時(shí)區(qū) $day_start=strtotime(date("Ymd")."000001");//一天的開(kāi)始時(shí)間 $day_out=strtotime(date("Ymd")."235959");//一天的結(jié)束時(shí)間 $day=3600*24;//一天的時(shí)間 $link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die("服務(wù)器連接出錯(cuò)"); mysql_select_db($mysql_db,$link) or die('鏈接數(shù)據(jù)庫(kù)出錯(cuò)');//連接數(shù)據(jù)庫(kù) if($_GET['act']=='del') { if($_SESSION['ss_sp_admin']<>'') { if($_GET['dt']==0)//清空 { mysql_query("delete from {$table_prefix}sp_count "); } $d_time=0; if($_GET['dt']==1)//刪除30天前 { $d_time=$day_out-$day*30; }elseif($_GET['dt']==2)//刪除60天前 { $d_time=$day_out-$day*60; }elseif($_GET['dt']==3)//刪除90天前 { $d_time=$day_out-$day*90; }elseif($_GET['dt']==4)//刪除180天前 { $d_time=$day_out-$day*180; }elseif($_GET['dt']==5)//刪除360天前 { $d_time=$day_out-$day*360; } if($d_time>0) { mysql_query("delete from {$table_prefix}sp_count where r_time<'$d_time'");//刪除數(shù)據(jù) } } } $ss=intval($_GET['ss']); if($ss>0)//查看分類統(tǒng)計(jì) { if($ss==999)//清空分類 { $_SESSION['ss_ss']=''; }else { $_SESSION['ss_ss']=$ss; } } $ss=$_SESSION['ss_ss']; if($ss==1) { $ss='Baiduspider'; }elseif($ss==2) { $ss='Googlebot'; }elseif($ss==3) { $ss="MSNbot"; }elseif($ss==4) { $ss="Yahoobot"; }elseif($ss==5) { $ss="Sogoubot"; }elseif($ss==6) { $ss="Sosobot"; }elseif($ss==7) { $ss=7; } $t=intval($_GET['t']);//查看時(shí)間分類統(tǒng)計(jì) if($t==0)//時(shí)時(shí)情況 { if(empty($_SESSION['ss_ss'])) { $sql =" select * from {$table_prefix}sp_count order by id desc ";//最新情況 $sql2="select count(*) from {$table_prefix}sp_count "; }else { $sql="select * from {$table_prefix}sp_count where r_name='$ss' order by id desc "; $sql2="select count(*) from {$table_prefix}sp_count where r_name='$ss' "; } $rscount=mysql_query($sql2); $rscount=@mysql_fetch_array($rscount); $rscount=$rscount[0];//獲取總記錄數(shù) $page=intval(trim($_GET['page']));//當(dāng)前頁(yè)數(shù) $pagesize=30;//每頁(yè)記錄數(shù) $pagecount=ceil($rscount/$pagesize);//獲取總頁(yè)數(shù) $pageurl=""; if($page<=1) { $page=1; $pageurl.=" 首頁(yè) 上一頁(yè)"; }else { $pageurl .=" <a href='?page=1&ss=".$ss."'>首頁(yè)</a> <a href='?ss=".$ss."&page=".($page-1)."'>上一頁(yè)</a>"; } if($page>=$pagecount) { $page=$pagecount; $pageurl .=" 下一頁(yè) 尾頁(yè)"; }else { $pageurl .=" <a href='?ss=".$ss."&page=".($page+1)."'>下一頁(yè)</a> <a href='?ss=".$ss."&page=".$pagecount."'>尾頁(yè)</a>"; } if($page<=1) { $page=1; } $start_rs=intval(($page-1)*$pagesize);//開(kāi)始 $end_rs=intval($page*$pagesize);//結(jié)束 $sql .=" limit {$start_rs},{$end_rs} "; } if($t==1)//查看今天天統(tǒng)計(jì) { $s_time=$day_start;//開(kāi)始時(shí)間 $e_time=$day_out;//結(jié)束時(shí)間 $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; }elseif($t==2)//查看昨天統(tǒng)計(jì) { $s_time=$day_start-$day;//開(kāi)始 $e_time=$day_out-$day;//結(jié)束 $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; }elseif($t==3)//查看前天天的統(tǒng)計(jì) { $s_time=$day_start-$day*2; $e_time=$day_out-$day*2; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name"; }elseif($t==4)//查看七天的統(tǒng)計(jì) { $s_time=$day_start-$day*7; $e_time=$day_out; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; } elseif($t==5)//查看30天的 { $s_time=$day_start-$day*30; $e_time=$day_out; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; }elseif($t==6)//查看90天的統(tǒng)計(jì) { $s_time=$day_start-$day*90; $e_time=$day_out; $sql="select count(*) as ct,r_name from {$table_prefix}sp_count where r_time between '$s_time' and '$e_time' group by r_name "; } $res=mysql_query($sql);// or die("請(qǐng)先安裝程序<a href='spilder_install.php'>安裝</a>"); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>顯示蜘蛛記錄情況</title> <style type="text/css"> td{font-size:14px;} a,a:link{text-decoration:none; color:#000; } a:hover{color:#F00;} </style> </head> <body> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-bottom:6px;"> <tr> <td height="28" align="center" bgcolor="#66CC00"><h1><a target="_blank">薦禮啦</a> 蜘蛛查看器</h1></td> </tr> </table> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td width="65" height="38" bgcolor="#FFFFFF">分類查看</td> <td width="403" align="center" bgcolor="#FFFFFF"> <a href="?ss=999">所有的</a> <a href="?ss=1">百度</a> <a href="?ss=2">谷歌</a> <a href="?ss=3">必應(yīng)</a> <a href="?ss=4">雅虎</a> <a href="?ss=5">搜狗</a> <a href="?ss=6">搜搜</a> <a href="?ss=7">有道</a></td> <td width="322" bgcolor="#FFFFFF"> <a href="?t=0">時(shí)時(shí)</a> <a href="?t=1">今天</a> <a href="?t=2">昨天</a> <a href="?t=3">前天</a> <a href="?t=4">七天</a> <a href="?t=4">30天</a> <a href="?t=5">90天</a> </td> </tr> </table> <?php if($_SESSION['ss_sp_admin']==$sp_admin) { ?> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:12px; margin-bottom:12px;"> <tr> <td width="208" align="right" bgcolor="#FFFFFF">管理 <a href="?act=logout">退出</a> </td> <td width="585" align="center" bgcolor="#FFFFFF"> <a href="?act=del&dt=0" onclick="return confirm('確定清空')">清空</a> <a href="?act=del&dt=1" onclick="return confirm('確定刪除?')">30天前</a> <a href="?act=del&dt=2" onclick="return confirm('確定刪除?')">60天前</a> <a href="?act=del&dt=3" onclick="return confirm('確定刪除?')">90天前</a> <a href="?act=del&dt=4" onclick="return confirm('確定刪除?')">180天前</a> <a href="?act=del&dt=5" onclick="return confirm('確定刪除?')">360天前</a></td> </tr> </table> <?php } ?> <?php if($t==0) { ?> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:6px;"> <tr> <td width="133" align="center" bgcolor="#FFFFFF">蜘蛛</td> <td width="217" align="center" bgcolor="#FFFFFF">時(shí)間</td> <td width="440" align="center" bgcolor="#FFFFFF">地址</td> </tr> <?php while($rs=mysql_fetch_array($res)) { ?> <tr> <td align="center" bgcolor="#FFFFFF"><?php echo $rs['r_name'];?></td> <td align="center" bgcolor="#FFFFFF"><?php echo date("Y-m-d H:i:s",$rs['r_time']); ?></td> <td align="center" bgcolor="#FFFFFF"><a href="<?php echo $rs['r_url'];?>" target="_blank"> <?php echo $rs['r_url'];?></a></td> </tr> <?php } ?> </table> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:20px; margin-bottom:20px;"> <tr> <td align="center" bgcolor="#FFFFFF"><?php echo $pageurl;?></td> </tr> </table> <?php }else{ ?> <table width="800" border="0" align="center" cellspacing="1" bgcolor="#CCCCCC" style="margin-top:6px;"> <tr> <td width="219" align="center" bgcolor="#FFFFFF">蜘蛛</td> <td width="574" align="center" bgcolor="#FFFFFF">統(tǒng)計(jì)</td> </tr> <?php while($rs=mysql_fetch_array($res)) { ?> <tr> <td align="center" bgcolor="#FFFFFF"><?php echo $rs['r_name'] ?></td> <td align="center" bgcolor="#FFFFFF"><?php echo $rs['ct'];?></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>
- MySQL查詢重寫插件的使用
- zabbix通過(guò)percona插件監(jiān)控mysql的方法
- Spring mvc整合mybatis(crud+分頁(yè)插件)操作mysql
- MySql5.6使用validate password 插件加強(qiáng)密碼強(qiáng)度的安裝及使用方法
- MySQL 密碼增強(qiáng)插件
- MySQL中InnoDB的Memcached插件的使用教程
- 詳解MySQL下InnoDB引擎中的Memcached插件
- MySQL HandlerSocket插件安裝配置教程
- 發(fā)款php蜘蛛統(tǒng)計(jì)插件只要有mysql就可用
- MySQL連接控制插件介紹
相關(guān)文章
基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作
這篇文章主要介紹了基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例
在本篇文章里小編給大家分享了關(guān)于PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例內(nèi)容,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2019-01-01Zend Framework入門教程之Zend_Registry組件用法詳解
這篇文章主要介紹了Zend Framework入門教程之Zend_Registry組件用法,結(jié)合實(shí)例形式分析了Zend_Registry組件實(shí)現(xiàn)對(duì)象注冊(cè)的設(shè)置、獲取、判斷、刪除等操作常用技巧,需要的朋友可以參考下2016-12-12PHP實(shí)現(xiàn)微信網(wǎng)頁(yè)授權(quán)開(kāi)發(fā)教程
這篇文章主要為大家分享了PHP實(shí)現(xiàn)微信網(wǎng)頁(yè)授權(quán)開(kāi)發(fā)教程,開(kāi)發(fā)者可以通過(guò)授權(quán)后獲取用戶的基本信息,感興趣的小伙伴們可以參考一下2016-01-01php設(shè)計(jì)模式之享元模式分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之享元模式,結(jié)合星際爭(zhēng)霸游戲案例形式分析了PHP享元模式的相關(guān)原理與使用技巧,需要的朋友可以參考下2020-03-03關(guān)于laravel模板中生成URL的幾種模式總結(jié)
今天小編就為大家分享一篇關(guān)于laravel模板中生成URL的幾種模式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10PHP實(shí)現(xiàn)微信小程序在線支付功能(代碼實(shí)例)
這篇文章主要介紹了PHP微信小程序在線支付功能(代碼實(shí)例),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03