Восстановление файлов с фото SD card под Linux
Вторник, Ноябрь 9, 2010Программа TestDisk (а точнее программа photorec из этого пакета) – восстанавливает сканируя диск. Имена и даты файлов теряются. Восстанавливает всё. И корректно.
Потом написал скрипт для восстановления правильных имён (их я получил с помощью программы FreeUndelete )
#!/opt/php5/bin/php <?php chdir(dirname(realpath($_SERVER['PHP_SELF']))); require_once '../conf/config.conf'; require_core('Errorfunc.lib'); require_core('special_file.lib'); $names = '/media/SD_2GB/DCIM/100CASIO'; $files = '/home/inetstar/qwerty'; function aSizes($dir, $a) { $res = array(); foreach ($a as $name) $res[$name] = filesize($dir.'/'.$name); return $res; } $aNames = special_file::getDirList($names); $aNames = aSizes($names, $aNames); $aFiles = special_file::getDirList($files); $aFiles = aSizes($files, $aFiles); $aRename = array(); foreach($aNames as $k=>$size) { $key = array_search($size, $aFiles); if ($key) $aRename[$k] = $key; } foreach($aRename as $new=>$old) { unlink($names.'/'.$new); copy($files.'/'.$old, $names.'/'.$new); }