Mailinglisten-Archive |
>Wie kann ich alle Dateinamen nacheinander (in ein Array??) einlesen >und dann eine Schleife starten, in der die einzelnen Bestandteile >verarbeitet >(d.h. in eine Datenbank geschrieben werden)? >Ich habe in der Dokumentation nur Befehle zum =F6ffnen der Dateien >gefunden, aber es sollen ja nur nacheinander die Dateinamen gelesen und >verarbeitet werden. Hallo Christopher: Dateinamen kannst du so lesen: chdir("/blah/blah/blah"); $dir=opendir("."); readdir($dir); diese 'readdir($dir)' gibt der name der erste datei in der verzeichniss (unter jede unix rechner sollte "." sein). um den dateiname von die foto nr. 1520 zu haben (z.B.) wuerde ich einfach eine schleife benutzen: chdir("/blah/blah/blah"); $dir=opendir("."); $limit=1520; while ($i!=$limit) { $fotoname = readdir($dir); $i++; } closedir($dir); wenn die schleife zu ende ist, hast du der dateiname unter: '$fotoname'. (Ich weiss nicht ob beim GROSSE menge von dateien das nicht zu lange dauert...) fals dein server unter unix laeuft (wie eigentlich sein sollte ;-) darfst du nicht vergessen dass die erste 2 dateinamen sind "." und ".." du kannst sie ignorieren mit: if ($file != "." && $file != "..") { $fotoname = readdir($dir); $i++; } oder einfach: $limit=1520+2; um ALLE dateinamen einzulesen, soll '$limit' die nummer von fotos sein. (kannst immer mit 'read($dir)' eine kleine schleife bauen, die zaehlt wieviele fotos du hast). der eintrag in der db erfolgt dann gerade vor den befehl '$i++;' d.h. bevor $fotoname ein andere wert bekommt. ich hoffe das hilft. (und entschuldigung wegen rechtschreibung: ich bin woanders geboren...) -- murgas!!
php::bar PHP Wiki - Listenarchive