Sven Rautenberg: Dateinamen eines Verzeichnisses einlesen

Beitrag lesen

Moin!

Danke, dass du mir ein paar mögliche Komplikationen aufgezeigt hast. Tatsächlich existieren die Bilder in einem Ordner (Album), welches nur einmal durchlaufen wird (innerhalb eines Ordners sind die Bilder aufsteigend nach ###, beginnend bei 001 benannt). 001.jpg existiert also des öfteren, jedoch in unterschiedlichen Ordnern. Vlt. werde ich die Bilder aber auch unbenennen (z.B. in album1_001.jpg), damit sie eindeutig sind und ich somit mit deinen weiteren Tipp arbeiten kann.

Es gibt auch noch eine recht "simple" Alternativlösung: Lege dir einfach zwei Verzeichnisbäume an. Der eine Baum wird final zum Ausliefern der indizierten Bilder genutzt. Der zweite Baum ist nur dazu da, dort neue Bilder zu platzieren. Und beim Indizieren wird nur diese Verzeichnisstruktur durchlaufen, und alle gefundenen Bilder werden in den finalen Verzeichnisbaum verschoben.

Hat den Vorteil, dass du dein Skript so häufig wie notwendig durchlaufen lassen kannst, ohne dass es allzu komplex wird.

Man kann - unabhängig vom Verschieben oder Duplikatfinden - auch noch den Ansatz wählen, in die DB integrierte Bilder automatisch nach DB-Kriterien umzubenennen, z.B. nach der in der DB zugeordneten Bild-ID, oder indem man z.B. die Stichworte oder Bildtitel in den Dateinamen mit integriert.

Die ID-Variante hat den Vorteil, dass du automatisch eindeutige Dateinamen erhältst, weil die IDs eindeutig sind. Die Namensvariante (ggf. als Anhängsel an die ID) hätte den zusätzlichen Vorteil, dass du die Bildersammlung auch mit einer ganz normalen Dateisuche nach eventuellen Stichworten durchsuchen kannst, ohne deine Datenbank zu benötigen (iTunes kann sowas z.B. mit seinen MP3-Dateien machen, schön in Verzeichnissen sortiert Interpret/Album/Titel, mit dynamischer Umbenennung, wenn man im Programm was ändert oder korrigiert).

- Sven Rautenberg

--
"Love your nation - respect the others."