Поиск и удаление дубликатов файлов по размеру и дате. помогите!

Revenge-R

Mr. Revenge-R
Регистрация
6 Фев 2009
Сообщения
897
Реакции
320
Здравствуйте, php кодеры.

Вообщем помогите реализовать такой скрипт:
Скрипт должен искать дубликаты файлов по сравнивая по размеру и дате создания... и при нахождении дубликатов удалять из них самый старый по дате создания.
Например скрипт нашел три одинаковых файла:
4831f97047.jpg размер: 30056kb дата создания: 2012.03.04 15:31:50
4822a0b667.jpg размер: 30056kb дата создания: 2012.03.04 15:31:43
4813e76fb4.jpg размер: 30056kb дата создания: 2012.03.04 15:30:21
И в итоге скрипт должен оставить самый новый 4831f97047.jpg файл, а остальные дубликаты удалить.

Помогите пожалуйста реализовать, если это возможно.
 
PHP:
$dir='files/';
$test=1; // 1/0
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)) as $f)
if($f->isFile()) $arr[$f->getSize()][]=$f->getPathname(); ksort($arr);
 
foreach($arr as $size=>$a) if(count($a)>1) { $d[]=$size.'b';
  $t=array_map('filemtime',$a); $t_m=array_search(max($t),$t);
  foreach($a as $k=>$v) $d[]=($k!=$t_m?((empty($test) && @unlink($v))?'file':'test').'_deleted':'skip')."|$v|".date('d.m.Y H:i:s',$t[$k]);
}
 
echo '<pre>'.join("\n",$d).'</pre>';

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