вариант делать слепок бэкапа хороший, но долгий, иногда скорость неочень высокая что бы скачать копии
я вот скрипт один когда то в сети нашёл, немного его доделал, но здесь нет возможности показа новых файлов, которые появились после обновления снимка хэш сумм.
скрипт удобный, но я не знаю как прикрутить сюда фитчу - что бы показывал новые файлы на хостинге.
Помогите пожалуйста кто в php силен, что можно дописать сюда?
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"]) @[/COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$md5_from_file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#DD0000"]\t[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#DD0000"]\n"[/COLOR][COLOR="#007700"]); }
function[/COLOR][COLOR="#0000BB"]checker[/COLOR][COLOR="#007700"](){ global[/COLOR][COLOR="#0000BB"]$md5_file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$xmail[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$adminPassword[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"];
if (![/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$md5_file[/COLOR][COLOR="#007700"])) { [/COLOR][COLOR="#0000BB"]write_md5[/COLOR][COLOR="#007700"](); } if ([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'updatemd5'[/COLOR][COLOR="#007700"]] ) { if ([/COLOR][COLOR="#0000BB"]md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]])) ==[/COLOR][COLOR="#0000BB"]$adminPassword[/COLOR][COLOR="#007700"]) { [/COLOR][COLOR="#0000BB"]write_md5[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#FF8000"]//выполняем скрипт замены даты и времени [/COLOR][COLOR="#0000BB"]$select_file_touch[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$md5_file[/COLOR][COLOR="#007700"]; if (![/COLOR][COLOR="#0000BB"]touch[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$select_file_touch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]strtotime[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'2014-09-15 18:21:37'[/COLOR][COLOR="#007700"]))) { echo[/COLOR][COLOR="#DD0000"]'Упс, что-то пошло не так... дата файла не исправлена'[/COLOR][COLOR="#007700"]; } else { [/COLOR][COLOR="#FF8000"]// echo 'Модификация времени и даты файла прошла успешно! Папка / Файл: '.$select_file_touch.''; [/COLOR][COLOR="#007700"]} [/COLOR][COLOR="#FF8000"]//конец выполнения скрипта [/COLOR][COLOR="#007700"]} else { echo[/COLOR][COLOR="#DD0000"]'Неверный пароль'[/COLOR][COLOR="#007700"]; } } [/COLOR][COLOR="#0000BB"]$md5[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]dir_md5[/COLOR][COLOR="#007700"](); if ([/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$md5_file[/COLOR][COLOR="#007700"])) { [/COLOR][COLOR="#0000BB"]$md5_from_file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$md5_file[/COLOR][COLOR="#007700"]);
if ( ![/COLOR][COLOR="#0000BB"]$md5_from_file[/COLOR][COLOR="#007700"]) { [/COLOR][COLOR="#0000BB"]write_md5[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]$md5_from_file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$md5_file[/COLOR][COLOR="#007700"]); }
[/COLOR][COLOR="#0000BB"]$mailBody[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"]; while (list([/COLOR][COLOR="#0000BB"]$ln[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$line[/COLOR][COLOR="#007700"]) =[/COLOR][COLOR="#0000BB"]each[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$md5_from_file[/COLOR][COLOR="#007700"])) { list([/COLOR][COLOR="#0000BB"]$md[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"]) =[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"\t"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$line[/COLOR][COLOR="#007700"])); if ([/COLOR][COLOR="#0000BB"]$md[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#0000BB"]$md5[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"]]) { [/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]ABSPATH[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'//'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]" [/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#DD0000"].[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#DD0000"]- изменен"[/COLOR][COLOR="#007700"]; if ([/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'DOCUMENT_ROOT'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"])) { } else { echo[/COLOR][COLOR="#DD0000"]'Файл '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' отсутствует! '[/COLOR][COLOR="#007700"]; } [/COLOR][COLOR="#0000BB"]$mailBody[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]" [/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#DD0000"].[/COLOR][COLOR="#0000BB"]$ff[/COLOR][COLOR="#DD0000"]- изменен"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]++;
} }
[/COLOR][COLOR="#FF8000"]//if($mailBody != "" && $_GET['send'] == 1) @mail($xmail['adminMail'], $xmail['subject'], $mailBody, $xmail['headers']);//отправить на почту [/COLOR][COLOR="#007700"]}
if ([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'send'[/COLOR][COLOR="#007700"]] !=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]) { if ([/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]) { echo[/COLOR][COLOR="#DD0000"]" Всё ок!"[/COLOR][COLOR="#007700"]; } else { echo[/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#007700"]; } echo[/COLOR][COLOR="#DD0000"]'
пароль:
'[/COLOR][COLOR="#007700"]; } }
function[/COLOR][COLOR="#0000BB"]dir_md5[/COLOR][COLOR="#007700"]() { global[/COLOR][COLOR="#0000BB"]$md5[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$allowDir[/COLOR][COLOR="#007700"]; if([/COLOR][COLOR="#0000BB"]$allowDir[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"]){ [/COLOR][COLOR="#0000BB"]find_md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]ABSPATH[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$aDir[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"|"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$allowDir[/COLOR][COLOR="#007700"]); while (list([/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"]) =[/COLOR][COLOR="#0000BB"]each[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$aDir[/COLOR][COLOR="#007700"])){ [/COLOR][COLOR="#0000BB"]find_md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]ABSPATH[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]); } }else{ [/COLOR][COLOR="#0000BB"]find_md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]ABSPATH[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]); } return[/COLOR][COLOR="#0000BB"]$md5[/COLOR][COLOR="#007700"]; }
function[/COLOR][COLOR="#0000BB"]find_md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$recurs[/COLOR][COLOR="#007700"]) { global[/COLOR][COLOR="#0000BB"]$md5[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$allowExt[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$skipDir[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$skipFile[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$skipFileGlobal[/COLOR][COLOR="#007700"]; if ([/COLOR][COLOR="#0000BB"]$skipDir[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"]and[/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"#[/COLOR][COLOR="#0000BB"]$skipDir[/COLOR][COLOR="#DD0000"]$#i"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]))[/COLOR][COLOR="#0000BB"]$skip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"];
if ([/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"]= @[/COLOR][COLOR="#0000BB"]opendir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]) and[/COLOR][COLOR="#0000BB"]$skip[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]) {
while([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]readdir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"])) { if ([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'.'[/COLOR][COLOR="#007700"]or[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'..'[/COLOR][COLOR="#007700"]) continue;
if (![/COLOR][COLOR="#0000BB"]in_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$skipFileGlobal[/COLOR][COLOR="#007700"])) { [/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]; if ([/COLOR][COLOR="#0000BB"]is_dir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]) &&[/COLOR][COLOR="#0000BB"]$recurs[/COLOR][COLOR="#007700"]) { [/COLOR][COLOR="#0000BB"]find_md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]); }
if (![/COLOR][COLOR="#0000BB"]in_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$skipFile[/COLOR][COLOR="#007700"])) { if ([/COLOR][COLOR="#0000BB"]is_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]) &&[/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/[/COLOR][COLOR="#0000BB"]$allowExt[/COLOR][COLOR="#DD0000"]/i"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"])) { [/COLOR][COLOR="#0000BB"]$md5[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]join[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]))); } } } } [/COLOR][COLOR="#0000BB"]closedir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"]); } }
[/COLOR][COLOR="#0000BB"]checker[/COLOR][COLOR="#007700"](); [/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
|