Tag auch,
ich bin gerade dabei ein "kleines" Script zu schreiben welches mir ermöglicht mehrfach vorhandene Bilder zu löschen.
Vorab zur Erklärungshilfe:
Ich habe eine Registrierung in der man ein Userbild mit hochladen kann, dessen namen sich aus dem Usernamen dem Anhängsel "_reg_" und dem aktuellen unixtimestamp zusammen setzt.
Nun möchte ich überprüfen ob ggf. ein User zwei Bilder hochgeladen hat, das mache ich so:
Ich lese alle in dem Bilderordner befindlichen Bilder ein und zerteile die Bildnamen mit Hilfe des
PHP-Code:
explode("_", $bilddatei);
Befehls.
Nun schau ich eben nach ob in meiner datenbank ein Eintrag ist, der auf den jeweiligen Bildnamen passt.
Sollte nun ein Bild vorhanden sein, für welches es keinen Eintrag gibt lösche ich dieses.
Nun mein Problem:
Ich möchte zusätzlich noch überprüfen, ob evtl. mehrere Bilder mit dem gleichen "Teil-Bildnamen" vorhanden sind.
Sollte dies der Fall sein möchte ich mit Hilfe des unixtimestamps dieses Bildes alle bis auf das "neueste" löschen.
Durch die Nutzung des Befehls
PHP-Code:
$bilder = array_count_values($bildernamen);
bekomme ich nun ein Array zurück mit den Informationen:
Array
[bildname1] => 5
[bildname2] => 3
[bildname3] => 1
....
Wie schaffe ich es nun, diese Ausgabe weiter zu verwenden, um eben zu sagen: bildname1 ist 5 mal vorhanden somit möchte ich die ältesten 4 löschen? ...
Danke schonmal vorab