Nikso
составляешь массив,
имя файла|md5 хеш
md5 хеш вычисляешь специальной функцией. Погугли.
потом сравниваешь хеши, обычная строка, если они одинаковы значит и файлы идентичны по содержимому
Yacc
Написано на коленке за 10 минут, вероятно можно как-то оптимизировать, но мне не досуг.
Использовать просто: сохранить в файл, положить его в нужную папку и открыть в браузере.
Код:
<?php
$dir = realpath(dirname(__FILE__));
$files = array();
$hashes = array();
$dupes = array();
if (($handle = opendir($dir)) !== false) {
while( ($file = readdir($handle)) !== false) {
if ($file !== '.' and $file !== '..') {
if ( ! is_dir( $file = $dir . DIRECTORY_SEPARATOR . $file)) {
$files[] = $file;
$hashes[] = md5_file($file);
}
}
}
}
foreach (array_count_values($hashes) as $key => $value) {
if ($value > 1) {
$_dupes = array();
foreach (array_keys($hashes, $key) as $name) {
$_dupes[] = $files[$name];
}
$dupes[] = $_dupes;
}
}
echo '<pre>' . print_r($dupes, 1) . '</pre>';