统计ip代码

<?php
ini_set('memory_limit', '512M');

$content = file('D:\xampp\htdocs\test\mail.log');
$newArr = array();


$mon    = date('M') . ' ' . date('d',strtotime("-1 day"));
foreach ($content as $key => $val)
{
    $nk = substr($val,0,6);
    
    if (strpos($mon,$nk) === false)
    {
        continue;
    }    

    $pattern = '/((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))/';
    preg_match_all($pattern,$val,$result);
    $res = $result[0][0];

    if (!$res)
    {
        continue;    
    }
    if (!is_array($newArr[$nk]))
    {
        $newArr[$nk] = array();    
    }
    if (array_key_exists($res, $newArr[$nk]))
    {
        $newArr[$nk][$res]++;
    } else {
        $newArr[$nk][$res]=1;
    }    
    unset($content[$key]);
}

$fp = fopen(date('Y-m-d')."mail.log","a+");

foreach ($newArr as $da=>$value)
{
    $str= $da."\r\n";
    foreach($value as $k=>$v)
    {
        $str .= "IP:".$k .'--------------'.$v."次\r\n"; 
    }
    fwrite($fp,$str);
}
fclose($fp);
?>
原文地址:https://www.cnblogs.com/zhaozhilu/p/2918568.html