$filename_filelist = 'md5_log/file.list';
$filename_md5hash = 'md5_log/md5.hash';
$arr = file($filename_filelist);
$arr_tmp = file($filename_md5hash);
$arr_md5 = array();
// считываем md5.hash в ассоц.массив
foreach ($arr_tmp as $fileAndmd5) {
$aRow = explode(':', trim($fileAndmd5));
if (sizeof($aRow) == 2) {
$arr_md5[trim($aRow[0])] = trim($aRow[1]); // пара Имя файла -> md5
}
}
//проход по именам файлов и проверка md5
$md5_changed = false;
foreach ($arr as $value) {
$curfile = trim($value);
if (file_exists($curfile)) {
$md5_org = $arr_md5[$curfile];
$md5_curfile = @md5_file($curfile);
if (strlen($md5_org) > 0) {
// контр сумма для текущего файла уже подсчитана - проверим
if ($md5_org !=$md5_curfile) {
/*$message = "В последний раз файл <br>" . $curfile . " был изменен: " . date("d-Y-H:i:s.",
@filemtime($curfile)) . " MD5 файла: " . @md5_file($curfile) . " Размер файла: " . @filesize($curfile) . " байт";
echo ("<br>Информация об измененных файлах отправлена на емайл: <br> " . $curfile .
"<br>");
@mail('noreply@bk.ru',
'Сообщение об изменение МД5 суммы файлов на сервере : http://' . $_SERVER['SERVER_NAME'] .
$cur_file, $message); */
echo " sdfsdf" ;
// запомним новую md5
$arr_md5[$curfile] = $md5_curfile;
$md5_changed = true;
}
} else {
// для этого файла md5 еще не рассчитывалась
$arr_md5[$curfile] = $md5_curfile;
$md5_changed = true;
}
}
}
print "<pre>";
print_r($arr_md5);
if ($md5_changed)
{
// записываем в файл md5.hash измененный ассоц массив
rename($filename_md5hash, $filename_md5hash . '.bak');
$fp = fopen($filename_md5hash, 'w');
foreach($arr_md5 as $curfile => $curmd5) {
fwrite($fp, "$curfile:$curmd5\n");
}
fclose($fp);
unlink($filename_md5hash . '.bak');
}