10

php を使用して、異なる名前の重複した画像をチェックする方法はありますか? 重複をすべて削除したい。

4

4 に答える 4

9

はい、すべてのファイルを繰り返し処理し、hash_file 関数を使用してそれらを比較できます: http://php.net/manual/en/function.hash-file.php

于 2012-05-09T17:08:41.870 に答える
3

やや簡単な解決策は、を使用して画像のチェックサムを実行することだと思いますmd5()

ディレクトリを開き、md5を生成するファイルをループし、md5を比較し、重複を削除します。

編集:これはを使用したスクリプトですhash_file()

<?php

$dir = "/full/path/to/images";
$checksums = array();

if ($h = opendir($dir)) {
    while (($file = readdir($h)) !== false) {

        // skip directories
        if(is_dir($_="{$dir}/{$file}")) continue;

        $hash = hash_file('md5', $_);

        // delete duplicate
        if (in_array($hash, $checksums)) {
            unlink($_);
        }
        // add hash to list
        else {
            $checksums[] = $hash;
        }
    }
    closedir($h);
}
于 2012-05-09T17:09:04.200 に答える
3

ファイルのsha1_fileハッシュで比較・確認できます

40 文字の 16 進数を返します

于 2015-04-22T09:57:10.023 に答える