发款php蜘蛛统计插件只要有mysql就可用

2018-09-21 10:10

阅读:274

  于是昨天便认真的做了一下,功能多一点,可以对各种搜索引擎统计分析。可以在多个时间段进行查看。其实代码很简单,为了更简洁些,代码压缩到6k.分为6个文件
1.安装程序 spilder_install.php
复制代码 代码如下:
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN
<html xmlns=
<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]);//获取主机
$mysql_user=trim($_POST[mysql_user]);//获取用户名
$mysql_pwd=trim($_POST[mysql_pwd]);//获取密码
$mysql_db=trim($_POST[mysql_db]);//数据库
$table_prefix=trim($_POST[table_prefix]);//获取前缀
if($link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd))
{
echo 连接服务器成功!.................<br>;
}
else
{
echo <script>alert(链接出错!请检查数据库服务器配置!);history.go(-1);</script>;
}
if(mysql_select_db($mysql_db,$link))
{
echo 连接数据库成功!.............<br>正在创建表................<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 表创建成功!正在写入文件;
}
$f=file_get_contents(spilder_config.php);//获取配置内容
$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 恭喜!荐礼啦蜘蛛统计程序安装成功 <a href=\index.php\>查看</a>;
exit();
}
?>
<body>
<table width=600 border=0 align=center>
<tr>
<td align=center>荐礼啦 蜘蛛统计查看器</td>
</tr>
</table>
<form method=post>
<table width=600 border=0 align=center cellspacing=0>
<tr>
<td width=280></td>
<td width=610>开始安装</td>
</tr>
<tr>
<td align=right>服务器:</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>数据库:</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);//调用配置文件
$link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die(服务器连接出错);//链接数据库
mysql_select_db($mysql_db,$link) or die(数据库连接出错);
$searchbot = get_naps_bot();
if($searchbot)
{
date_default_timezone_set(PRC); //设置默认时区
$r_time=strtotime(date(Y-m-d H:i:s));//最后更新时间
$ServerName = $_SERVER[SERVER_NAME] ;
$ServerPort = $_SERVER[SERVER_PORT] ;
$ScriptName = $_SERVER[SCRIPT_NAME] ;
$QueryString = $_SERVER[QUERY_STRING] ;
$url=
If ($ServerPort != 80)
{
$url = $url.:.$ServerPort ;
}
$url=$url.$ScriptName ;
If ($QueryString !=)
{
$url=$url.?.$QueryString ;
}
//$url=
$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.蜘蛛统计查看文件
复制代码 代码如下:
<?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); //设置默认时区
$day_start=strtotime(date(Ymd).000001);//一天的开始时间
$day_out=strtotime(date(Ymd).235959);//一天的结束时间
$day=3600*24;//一天的时间
$link=mysql_connect($mysql_host,$mysql_user,$mysql_pwd) or die(服务器连接出错);
mysql_select_db($mysql_db,$link) or die(链接数据库出错);//连接数据库
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);//删除数据
}
}
}
$ss=intval($_GET[ss]);
if($ss>0)//查看分类统计
{
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]);//查看时间分类统计
if($t==0)//时时情况
{
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];//获取总记录数
$page=intval(trim($_GET[page]));//当前页数
$pagesize=30;//每页记录数
$pagecount=ceil($rscount/$pagesize);//获取总页数
$pageurl=;
if($page<=1)
{
$page=1;
$pageurl.= 首页 上一页;
}else
{
$pageurl .= <a href=?page=1&ss=.$ss.>首页</a> <a href=?ss=.$ss.&page=.($page-1).>上一页</a>;
}
if($page>=$pagecount)
{
$page=$pagecount;
$pageurl .= 下一页 尾页;
}else
{
$pageurl .= <a href=?ss=.$ss.&page=.($page+1).>下一页</a> <a href=?ss=.$ss.&page=.$pagecount.>尾页</a>;
}
if($page<=1)
{
$page=1;
}
$start_rs=intval(($page-1)*$pagesize);//开始
$end_rs=intval($page*$pagesize);//结束
$sql .= limit {$start_rs},{$end_rs} ;
}
if($t==1)//查看今天天统计
{
$s_time=$day_start;//开始时间
$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==2)//查看昨天统计
{
$s_time=$day_start-$day;//开始
$e_time=$day_out-$day;//结束
$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)//查看前天天的统计
{
$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)//查看七天的统计
{
$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天的统计
{
$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(请先安装程序<a href=spilder_install.php>安装</a>);
?><!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN
<html xmlns=
<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 href=荐礼啦</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>必应</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>时时</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>时间</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];?> > <?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>统计</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
}
?>
<table width=800 border=0 align=center cellspacing=1 bgcolor=#CCCCCC style=margin-top:6px;>
<tr>
<td align=center bgcolor=#FFFFFF>友情链接:<a href=荐礼啦</a> <a href=爱我爸妈</a> <a href=黑客帝国</a></td>
</tr>
</table>
</body>
</html>


评论


亲,登录后才可以留言!