Я хочу отсканировать мою папку изображений WhatsApp и переместить все повторяющиеся изображения в папку с именем recycle bin
чтобы удалить их позже, вот мой код:
<?php
$dir = 'C:\wamp\www\whatsapp';
$files = scandir($dir);
$x = 0;
foreach($files as $f1)
{
$crc1 = strtoupper(dechex(crc32(file_get_contents("whatsapp/".$f1))));
unset($files[$x]);
$j = 0;
foreach($files as $f2)
{
$crc2 = strtoupper(dechex(crc32(file_get_contents("whatsapp/".$f2))));
if($crc1 == $crc2){
rename("whatsapp/".$f2, "recycle bin/".$f2);
unset($files[$j]);
}
$j++;
}
$x++;
}
exit('Done');
кажется ли этому коду доверенным перемещать только повторяющиеся изображения без каких-либо ошибок?
Я написал небольшой скрипт для вашего случая (но я не проверял его):
<?php
$fileHashes = [];
foreach(scandir('C:\wamp\www\whatsapp') as $file){
$fileHashes["whatsapp/".$file] = sha1(file_get_contents("whatsapp/".$file));
}
$doubles = array_diff_key($fileHashes, array_unique($fileHashes))
foreach($doubles as $file=>$hash){
unlink($file);
}
exit('Done');
Других решений пока нет …