Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Поиск дублирующихся текстовых файлов в папке
цитата
21/04/14 в 21:00
 Ale-xxx
сабж
как-то встречал но когда надо память подводит ((( помогите
цитата
21/04/14 в 21:26
 DumBass
в ccleaner есть
цитата
22/04/14 в 10:25
 pipe
Дублирующихся на 100%? PHP скрипт сгодится? По идее, там пара строчек буквально, пишем в массив хеши файлов и потом убираем неуникальные.
цитата
22/04/14 в 13:02
 Ale-xxx
всем спасибо
ccleaner попробую
PHP знаю на базовом уровне и из совета ничего не понял )))
цитата
22/04/14 в 13:33
 Nikso
составляешь массив,
имя файла|md5 хеш
md5 хеш вычисляешь специальной функцией. Погугли.

потом сравниваешь хеши, обычная строка, если они одинаковы значит и файлы идентичны по содержимому
цитата
23/04/14 в 14:15
 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>';
цитата
25/04/14 в 05:58
 Ale-xxx
всем спасибо! задача выполнена


Эта страница в полной версии