Рекурсивное сравнение файлов по датам и копирование измененных файлов в другую папку

chapser

Гуру форума
Регистрация
12 Сен 2007
Сообщения
124
Реакции
88
Всем добрый день!
Подскажите, как реализовать такую штуку.
Нужно рекурсивно пройтись по всем каталогам и файлам сайта, сравнить даты изменения файлов и папок, затем скопировать измененные в другую папку с сохранением структуры.
 
Подскажите, как реализовать такую штуку.

С этого начать можно. Ищет файлы выводит дату изменения файла и путь.

PHP:
<?php

$dir = getcwd();
$date_check = '02.03.2019';
function listFolderFiles($dir)
{
    $ffs = scandir($dir);
    foreach($ffs as $ff)
    {
        if($ff != '.' && $ff != '..')
        {
            if(is_file($dir.'\\'.$ff) == 1)
            {
            echo 'Файл изменён - '.date("m.d.Y", filectime($dir.'\\'.$ff)).'<br>';
            //echo $dir.'\\'.$ff.'<br>';
            if (date("m.d.Y") > $date_check)
                {
                echo $dir.'\\'.$ff;
                echo '<br>ALARM!!!!!!!!!!!!!!!!!!!<br><br>';
                }
            }
            if(is_dir($dir.'\\'.$ff)) listFolderFiles($dir.'\\'.$ff);
        }
    }
}
listFolderFiles($dir);

?>

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\DevelStudio.exe
ALARM!!!!!!!!!!!!!!!!!!!

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\Squall.dll
ALARM!!!!!!!!!!!!!!!!!!!

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\avcodec-53.dll
ALARM!!!!!!!!!!!!!!!!!!!

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\avformat-53.dll
ALARM!!!!!!!!!!!!!!!!!!!

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\avutil-51.dll
ALARM!!!!!!!!!!!!!!!!!!!

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\chrome.pak
ALARM!!!!!!!!!!!!!!!!!!!

Файл изменён - 03.03.2019
C:\Open_server\OSPanel\domains\test\111DevelStudio 3.0 beta\core\c_php.ini
ALARM!!!!!!!!!!!!!!!!!!!

для копирования надо папки создавать под файлы перед копированием
 
Назад
Сверху