Einem Ordner eine eindeutige ID zuweisen?

Josh

Legendäres Mitglied
Hallo.

Ich möchte in einem PHP mehreren Ordnern eindeutige ID's zuweisen, dies aber nicht, indem ich ihnen eindeutige Namen gebe. Eigentlich dachte ich, man könnte die Erstellzeit abfragen, doch scheint auf vielen UNIX Systemen die Erstellzeit gar nicht gespeichert zu werden! Ich weiss nun keinen anderen Rat, als in jeden Ordner eine PHP-Datei zu schreiben mit einer eindeutigen ID drin, doch ist das nicht wirklich eine sehr schöne Lösung... auch geht es nicht, indem ich die Pfade als ID verwende, denn die Ordner sollten verschoben werden können und trotzdem ihre ID's behalten.

Hat jemand eine Idee, wie ich dies verwirklichen könnte?

Danke und Gruss.
smile.gif


Josh
 
du könntest in einer datei oder datenbank für jeden ordner die id vermerken

leider habe ich absolut keine ahnung was unter unix systemen für ordner attribute gespeichert werden
sad.gif

 
genau das habe ich ja vor, aber dazu BRAUCHE ich erstmal eine ID!
laugh.gif

 
hm dachte daran anstelle des php files in jedem ordner einen file anzulegen
wink.gif


aber dann wäre das verschieben nicht möglich

ich würde an deiner stelle einfach den weg über den verzeichnissnamen gehen

oder was spricht dagegen ?
 
md5($root.$path.$dir)

Das hat aber den Nachteil, dass die ID umständlich ist.

Das gleiche ohne md5 in eine Tabelle schreiben mit auto increment ID.

Wenn du verschieben und umbenennen willst bleibt dir nichts anders übrig als dies dann zu updaten oder dein files zu verwenden, die dann immer ausgelesen werden.

Was genau machst du? Werden die Ordner nur von deinem Script mutiert?
 
danke euch beiden, soweit bin ich aber auch schon gekommen.
wink.gif


das problem ist, dass die ordner zwar von meinem script mutiert werden, aber das script auch änderungen per ftp etc erkennen sollte und deshalb nicht gleich den geist aufgibt!
tongue.gif

 
das änderungsdatum einer datei auszulesen ist per php möglich, aber ich glaube dir geht es ums erstelldatum.

wenn du eine eindeutige id für ein dateisystemelement suchst, kannst du doch mit fileinode() den inode ermitteln und als ID verwenden?
 
fileinode?
smile.gif
noch nie gehört! tönt aber interessant! das problem ist nur, wenn die datei sich ändert, dann ist auch dieser code anders... womit wir schon wieder beim alten problem wären
tongue.gif
 
Nein, das inode bleibt ja das selbe.. Das inode spricht ja eine bestimmte Datei an und wird bspw. beim verschieben oder umbenennen (bei UNIX Kommando "mv") geschieht hier nichts und auch nicht beim Ändern des Inhalts. Ich habe dies auch noch kurz getestet mit dem Erstellen einer Datei und "ls -i"..
 
oho! dann tönt das doch sehr interessant! vielen dank, werde mir das anschauen. klappt das auch mit ordnern?
smile.gif
 
müsste, ein ordner ist ja eigentlich nur eine spezielle datei (in unix).. vielleicht hilft es dir ja weiter
smile.gif
 
Zurück
Oben