如果有人想要这里有 PHP 函数,它可以计算哪个 ip 在文件中出现了多少次。
function get_access_ip_count($input_file_name, $output_file_name){
$access_ip_array = array();
$overall_count = 0;
$handle = fopen($input_file_name, "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
preg_match('/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/', $line, $matches);
#print_r($matches);
#exit;
if($matches[0]>0){
#print_r($matches);
$ip = $matches[0];
#echo "ip: $ip";
if(!isset($access_ip_array[$ip])){
$access_ip_array[$ip] = 1;
$overall_count++;
}
else{
$access_ip_array[$ip]++;
$overall_count++;
}
}
}
fclose($handle);
uasort($access_ip_array,"Descending");
echo "<pre>";
print_r($access_ip_array);
echo "</pre>";
$output_file = fopen($output_file_name, "w");
fwrite($output_file, print_r($access_ip_array, TRUE));
fclose($output_file);
echo "overall_count: $overall_count";
} else {
echo "Couldn't open file";
}
}
function Descending($a, $b) {
if ($a == $b) {
return 0;
}
return ($a > $b) ? -1 : 1;
}