Dann nim doch einfach md5 oder sha1 vom Dateinamen
Wenn es nicht auf Performance ankommt, dann könnte man bei einer vergleichbaren Anwendung sogar den Hash des Dateiinhalts nehmen und hätte am Ende wenigstens keine "binär identischen" Bilder …
Beispielhafte Anwendung:
$newFileName = $newDir . '/' . md5( file_get_contents( $oldFileName ) ) . '.jpg';
if ( ! is_file($newFileName ) ) {
if ( copy( $oldFileName, $newFileName ) ) {
echo "Erfolg: Die Datei '$oldFileName' wurde nach '$newFileName' kopiert.", PHP_EOL );
} else {
echo ( "Fatal: Die Datei '$oldFileName' konnte nicht nach '$newFileName' kopiert werden.", PHP_EOL );
}
} else {
echo ( "Notiz: Die Datei '$oldFileName' wurde nicht kopiert, weil sie eine Kopie von '$newFileName' ist.", PHP_EOL );
}