Thread Dateipfadstruktur phasen (3 answers)
Opened by Xertno at 2012-02-24 10:33

rosti
 2012-02-24 11:32
#156407 #156407
User since
2011-03-19
3218 Artikel
BenutzerIn
[Homepage]
user image
Wenn Dir eine DB recht ist... ein Ansatz wäre, den tree in einer Tabelle zu speichern, die drei Spalten hat, beachte die Key-setzung:

path, folder, file

KEY path(path),
PRIMARY KEY (path, folder, file)


Mit File::Find und der Callbackfunktion gehst Du ab einem bestimmten Verzeichnis durch, trennst Dirs von Files (-d, -f) und schreibst zu jedem Stammverzeichnis die Darunterliegenden in die Tabelle (on duplicate key update).

Der Duplicate Key ergibt sich, wenn alle drei felder gleich sind.

Über den Key "path" in der späteren where-Klause kriegst Du performante Abfragen auf Unterverzeichnisse und unter "path" liegende Dateien. Damit kannst Du den tree darstellen.

Für weitere Attribute (size, type ...) gibt es eine zweite Tabelle, die bei Abfragen gejoined wird.

--rosti

View full thread Dateipfadstruktur phasen