- 论坛徽章:
- 0
|
今天又用到这个了,又重新写了一个,通过3G 大小的文件测试没问题.
#!/bin/php
<?
$file = "./access_log"
$fp = fopen($file,'r');
$temp = array();
$iplist = array();
while (!feof($fp)) {
$str = fgets($fp,1024);
$temp = explode(" ",$str);
if (!ereg("[1-9].[1-9].[1-9].[1-9]",$temp[0]))
continue;
if ($iplist["$temp[0]"] != '') {
$iplist["$temp[0]"]++;
} else {
$iplist["$temp[0]"] = 1;
}
}
asort($iplist);
foreach ($iplist as $k=>$v) {
echo $k." ".$v."\n";
}
echo "\nTotal ".count($iplist)." ips\n";
echo "The max counts is ".max($iplist)."\n";
?>
~ |
|