php IIS日志分析搜索引擎爬虫记录程序第1/2页
2015-01-24信息快讯网
由于最近比较忙,代码写得不怎么规范,界面也没有怎么美化,大家先用着吧,以后增加新功能会第一时间发布给大家!
使用注意:修改iis.php文件中iis日志的绝对路径
例如:$folder=”c:/windows/system32/logfiles/站点日志目录/”; //后面记得一定要带斜杠(/)。
( 用虚拟空间的不懂查看你的站点绝对路径?上传个探针查看!
直接查看法:http://站点域名/iis.php
本地查看法:把日志下载到本地 http://127.0.0.1/iis.php )
注意:
//站点日志目录,注意该目录必须要有站点用户读取权限!
//如果把日志下载到本地请修改143行的网址为您网站的网址,此操作不是必要操作,不影响分析结果。
//修改文件名称iis.php 需要同时修改对应代码 ctrl+h 把 iis.php全部替换成您要修改的文件名 否则程序运行出错。
//如果iis日志文件过大,可能会导致程序超时!同时也不建议大家使用!
以下是PHP源代码:
[code]
<?php
/*
牛仔IIS日志蜘蛛爬行记录分析器 V1.1(PHP GB2312 版)
作者:牛仔
QQ:172379201
Email:[email protected]
*/
//===================================================
header("content-type:text/html; charset=gb2312");
//站点日志目录,注意该目录必须要有站点用户读取权限!
$folder="C:/WINDOWS/system32/LogFiles/W3SVC1155699908/";//后面记得一定要带斜杠!
$pagesize = 25;//设置分页显示条数!
//=========================
$type = addslashes($_GET['type']);
if ($type)$type = base64_decode($type);
$showfile = addslashes($_GET['showfile']);
$page = addslashes($_GET['page']);
if (!$page)$page=1;
//============================
//打开目录
if (!$type){
if (file_exists($folder))
{
$fp=opendir($folder);
while(false!=$file=readdir($fp))
{
if($file!='.' &&$file!='..')
{
$file="$file";
$arr_file[]=$file;
}
}
if(is_array($arr_file))
{
for ($i=count($arr_file)-1;$i>=0;$i--)
{
$indexstr.="<tr><td height=\"25\" width=\"25%\">".date("Y-m-d",filectime($folder.$arr_file[$i]))."</td>
<td height=\"25\" width=\"25%\" align=\"center\"><a href=\"iisfile.php?type=".base64_encode(Baiduspider)."&showfile=".$arr_file[$i]."\">百度(Baidu)</a></td>
<td height=\"25\" width=\"25%\" align=\"center\"><a href=\"iisfile.php?type=".base64_encode(Googlebot)."&showfile=".$arr_file[$i]."\">谷歌(Google)</a></td>
<td height=\"25\" width=\"25%\" align=\"center\"><a href=\"iisfile.php?type=".base64_encode(yahoo)."&showfile=".$arr_file[$i]."\">雅虎(yahoo)</a></td></tr>";
}
}
closedir($fp);
$html = indexhtml();
$copy = mycopy();
$html = str_replace("[showlog]",$indexstr,$html);
$html = str_replace("[copy]",$copy,$html);
echo $html;
}else{
echo "该日志目录不存在或权限不足,请检查设置!";
exit();
}
}elseif ($type=='Baiduspider'){
echo show($type,$folder,$showfile,$page,$pagesize);
}elseif ($type=='Googlebot'){
echo show($type,$folder,$showfile,$page,$pagesize);
}elseif ($type=='yahoo'){
echo show($type,$folder,$showfile,$page,$pagesize);
}
function show($type,$folder,$showfile,$page,$pagesize)
{
if ($type=='Baiduspider')
{
$title='百度';
}elseif ($type=='Googlebot'){
$title='谷歌';
}elseif ($type=='yahoo'){
$title='雅虎';
}
if ($type&&$folder&&$showfile)
{
if(file_exists($folder.$showfile))
{
$fp= fopen($folder.$showfile,"r");
}else{
echo "该日志文件不存在,请检查设置!";
exit;
}
$j=0;
$y=0;
$t=0;
$h=0;
while (!feof($fp))
{
$str = fgets($fp);
$str =iconv("UTF-8","GB2312//IGNORE",$str);
if(strpos($str,$type))
{
$j++;
$temp[].=$str;
$tmpcount = explode(" ",$str);
if ($tmpcount[11]==200)$t++;
if ($tmpcount[11]==304)$h++;
if ($tmpcount[11]==404)$y++;
}
}
fclose($fp);
$count = count($temp);
if ($page==1)
{
$countshow=$count;
$mynum = $count-$pagesize;
}else{
$countshow =$count-($page*$pagesize-$pagesize);
$mynum = $count-$page*$pagesize;
}
$pagecount =ceil(count($temp) / $pagesize);
if ($page>=$pagecount)
{
$mynum = $pagecount;
}
$m=0;
for ($i=$countshow-1;$i>=$mynum;$i--)
{
$num = explode(" ",$temp[$i]);
$show.="
<tr>
<td heigth\"20\">".$num[0]." ".$num[1]."</td>
<td>".$num[9]."</td>
<td><a href=\"".rawurlencode($num[5])."\" target=\"_blank\">".$num[5]."</a></td>
<td>".$num[11]."</td>
</tr>";
}
unset($temp);
$showpage = "<td colspan=\"4\" height=\"30\" align=\"center\">每页 ".$pagesize." 条 当前".$page."/$pagecount";
$showpage.=" <a href=\"?type=".base64_encode($type)."&showfile=".$showfile."\">首页</a>";
if ($page!=1)
{
$showpage.=" <a href=\"?type=".base64_encode($type)."&showfile=".$showfile."&page=".($page-1)."\">上一页</a>";
}
if ($page!=$pagecount)
{
$showpage.=" <a href=\"?type=".base64_encode($type)."&showfile=".$showfile."&page=".($page+1)."\">下一页</a>";
$weei = " <a href=\"?type=".base64_encode($type)."&showfile=".$showfile."&page=".($pagecount)."\">尾页</a>";
}
$showpage.=$weei."</td>";
if ($show)
{
$html = pagehtml();
$copy = mycopy();
$htmltitle = "牛仔IIS日志蜘蛛爬行记录分析器-";//请保留,谢谢!
$html = str_replace("[title]",$title,$html);
$html = str_replace("[htmltitle]",$htmltitle,$html);
$html = str_replace("[show]",$show,$html);
$html = str_replace("[count]",$j,$html);
$html = str_replace("
php UTF-8、Unicode和BOM问题
php生成的html meta和link标记在body标签里 顶部有个空行
PHP 工厂模式使用方法
在PHP中使用反射技术的架构插件使用说明
PHP 写文本日志实现代码
php file_exists 检查文件或目录是否存在的函数
php disk_free_space 返回目录可用空间
PHP is_dir() 判断给定文件名是否是一个目录
php is_file 判断给定文件名是否为一个正常的文件
mayfish 数据入库验证代码
在IIS7.0下面配置PHP 5.3.2运行环境的方法
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Windows IIS PHP 5.2 安装与配置方法
PHP 服务器配置(使用Apache及IIS两种方法)
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
继续收藏一些PHP常用函数第1/2页
php二分法在IP地址查询中的应用
PHP调用MySQL的存储过程的实现代码
推荐学习php sesson的朋友必看PHP会话(Session)使用入门第1/2页
php多数据库支持的应用程序设计第1/2页
PHP+MYSQL 出现乱码的解决方法
IStream与TStream之间的相互转换
Discuz 模板引擎的封装类代码
discuz Passport 通行证 整合笔记
轻松修复Discuz!数据库
mysql 中InnoDB和MyISAM的区别分析小结
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Win2003下IIS+PHP+MySQL+Zend配置步骤详解第1/2页
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
IIS6的PHP最佳配置方法
新手配置 PHP 调试环境(IIS+PHP+MYSQL)