- Автор темы
- #1
написал скрипт который отслеживает изменения в заданных файлах, которые находятся в md5_log/file.list
список файлов :
T:/home/server/www/spy2.php
T:/home/server/www/spy.php
T:/home/server/www/fs.php
T:/home/server/www/scan_dir.php
T:/home/server/www/chekmd5.php
T:/home/server/www/md5.php
проблема в том что когда делаю
print "<pre>" ;
print_r($arr);
распечатывается:
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Файл был изменен
Информация об измененных файлах отправлена на емайл:
T:/home/server/www/spy2.php
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Файл был изменен
Информация об измененных файлах отправлена на емайл:
T:/home/server/www/md5.php
изменения были тока в 1 файле : T:/home/server/www/md5.php , но почему то первый файл в списке
Файл был изменен
Информация об измененных файлах отправлена на емайл:
T:/home/server/www/spy2.php
сообщается что он тоже был изменен а на самом деле он не был изменен, и если я изменю други файлы из списка , сообщение и емайла нету о том что они были изменены....
список файлов :
T:/home/server/www/spy2.php
T:/home/server/www/spy.php
T:/home/server/www/fs.php
T:/home/server/www/scan_dir.php
T:/home/server/www/chekmd5.php
T:/home/server/www/md5.php
PHP:
//////////////////////////////////
$arr = file("md5_log/file.list"); // чита в массив список файлов
foreach ($arr as $value)
{
echo "File $value <br>"; // обпрабатываю их в цикле, хочу получить все значения
/////////////////////////////////////
$files = $value; // записываю все значения в новую перменную
/********************** сравниваю *******************************/
$file_md5 = "md5_log/md5.hash"; //
$md5_new_file = trim(@md5_file($files));
$md5_old_file = trim(file_get_contents($file_md5));
if ($md5_new_file <> $md5_old_file)
{
echo "Файл был изменен";
rename($file_md5, $file_md5 . ".bak");
$fp = fopen($file_md5, 'w');
fwrite($fp, $md5_new_file);
fclose($fp);
///////////////// crontab
$message = "В последний раз файл <br>" . $files . " был изменен: " . date("d-Y-H:i:s.",
@filemtime($files)) . " MD5 файла: " . @md5_file($files) . " Размер файла: " . @
filesize($files) . " байт";
echo ("<br>Информация об измененных файлах отправлена на емайл: <br> " . $files .
"<br>");
@mail('noreply@bk.ru',
'Сообщение об изменение МД5 суммы файлов на сервере : http://' . $_SERVER['SERVER_NAME'] .
$value, $message);
////////////////////////////////////////////////////////////////
unlink($file_md5 . ".bak");
}
//
else
{
echo "Ничего не изменилось";
}
}
проблема в том что когда делаю
print "<pre>" ;
print_r($arr);
распечатывается:
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Файл был изменен
Информация об измененных файлах отправлена на емайл:
T:/home/server/www/spy2.php
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Ничего не изменилось
Array
(
[0] => T:/home/server/www/spy2.php
[1] => T:/home/server/www/spy.php
[2] => T:/home/server/www/fs.php
[3] => T:/home/server/www/scan_dir.php
[4] => T:/home/server/www/chekmd5.php
[5] => T:/home/server/www/md5.php
)
Файл был изменен
Информация об измененных файлах отправлена на емайл:
T:/home/server/www/md5.php
изменения были тока в 1 файле : T:/home/server/www/md5.php , но почему то первый файл в списке
Файл был изменен
Информация об измененных файлах отправлена на емайл:
T:/home/server/www/spy2.php
сообщается что он тоже был изменен а на самом деле он не был изменен, и если я изменю други файлы из списка , сообщение и емайла нету о том что они были изменены....