同じ画像を削除するPHPのプログラムです。
ビューワーとかにも付いている機能ですし、
サイズ違ったり再保存されてるとNGですが、
何かの参考になれば^w^
img2に入っている画像をimg3へユニークな状態でコピーします。
重かったんでやめましたが、類似検索もつくとよいな。
<?php $files = glob('img2/*.jpg'); $data = array(); foreach($files as $file){ $imginfo = getimagesize($file); $data[] = array( 'file'=>$file, 'size'=>filesize($file), 'w'=>$imginfo[0], 'h'=>$imginfo[1], 'del'=>0 ); } usort($data, 'MySort'); function MySort($a, $b){ if($a['size'] > $b['size']){ return -1; }else{ return 1; } } for($i=0;$i<count($data);$i++){ $fs1 = $data[$i]['size']; if($data[$i]['del'] == 1){ continue; } if($data[$i]['w'] <= 150 && $data[$i]['h'] <= 150){ $data[$i]['del'] = 1; continue; } $img1 = file_get_contents($data[$i]['file']); echo $i; echo '/'; for($n=$i+1;$n<count($data);$n++){ if($data[$n]['del'] == 1){ continue; } $fs2 = $data[$n]['size']; if(abs($fs1-$fs2) <= 1000){ echo $n; echo " "; $img2 = file_get_contents($data[$n]['file']); if($img1==$img2){ $data[$n]['del'] = 1; } } } echo "\n"; } foreach($data as $item){ if($item['del'] == 0){ copy($item['file'],str_replace('img2', 'img4', $item['file'])); } }