Как сравнить две файловые структуры в PHP?
У меня есть функция, которая дает мне полную структуру файла до уровня n,
function getDirectory($path = '.', $ignore = '') {
$dirTree = array ();
$dirTreeTemp = array ();
$ignore[] = '.';
$ignore[] = '..';
$dh = @opendir($path);
while (false !== ($file = readdir($dh))) {
if (!in_array($file, $ignore)) {
if (!is_dir("$path/$file")) {
//display of file and directory name with their modification time
$stat = stat("$path/$file");
$statdir = stat("$path");
$dirTree["$path"][] = $file. " === ".
date('Y-m-d H:i:s', $stat['mtime']) . " Directory ==
".$path."===". date('Y-m-d H:i:s', $statdir['mtime']) ;
} else {
$dirTreeTemp = getDirectory("$path/$file", $ignore);
if (is_array($dirTreeTemp))$dirTree =
array_merge($dirTree, $dirTreeTemp);
}
}
}
closedir($dh);
return $dirTree;
}
$ignore = array('.htaccess', 'error_log', 'cgi-bin', 'php.ini', '.ftpquota');
//function call
$dirTree = getDirectory('.', $ignore);
//file structure array print
print_r($dirTree);
Теперь вот мое требование, у меня есть два сайта
- Сайт разработки / тестирования - где я тестирую все изменения
- Сайт производства - где я наконец публикую все изменения в соответствии с тестом на сайте разработки
Теперь, например, я протестировал загрузку изображений на сайте разработки / тестирования и счел целесообразным опубликовать их на сайте производства, тогда я полностью перенесу подробности базы данных разработки / тестирования в базу данных производства, но теперь я хочу сравнить файловая структура, а также для передачи соответствующего файла изображения в производственную папку.
Может быть ситуация, когда я обновляю изображение, редактируя изображение и загружая его с тем же именем, теперь в этом случае файл изображения уже будет присутствовать там, что ограничит использование логики "file_exist", поэтому для этих типов ситуации....КАК МОЖНО СРАВНИТЬ ДВЕ ФАЙЛОВОЙ СТРУКТУРЫ, ЧТОБЫ ПОЛУЧИТЬ СИНХРОНИЗАЦИЮ, ВЫПОЛНЕННУЮ В ТРЕБОВАНИИ??
РЕДАКТИРОВАНИЕ
требование должно быть скриптом, который мне понадобится как функциональность компонента Joomla. Пожалуйста, ответьте согласно этому.