Ordner auslesen lassen

Oli

dem Board verfallen
Hallo,

Also es gibt doch bestimmt einen Weg mit php einen Ordner auszulesen.
Also ich wollte folgendes machen. Ich habe einen Ornder wo viele kleine Gifs drin sind diese möchte ich in ein "Sprungmenü" (diese Dinger die sich aufklappen lasen) einbetten, aber eben nicht per Hand sondern das das per php oder vielleicht über einen anderen Weg, automatisch macht.
Somit brauch ich die nähmlich nicht immer selber schreiben, somal der derzeitigen Server eh auf Groß & Kleinschreibung achtet :), Hat man nur etwas Groß geschrieben was eigentlich klein ist wird es nicht angezeigt. Darum wäre sowas nicht schlecht.

Vieleicht kann ja jemand helfen.
Ciao
 
Jo verzeichnisse kannst Du ganz einfach durch PHP auslesen lassen.
Ich habe das im smiley-Script auch so gemacht, jetzt brauche ich nur noch die Smiley's in den entsprechenden Ordner zu legen und gut ist.
Hier mal der Code:

PHP:
$verzname="ordner1/ordner2/"; // Ordner wird als Variable gespeichert (relative angabe zum script)
$dh = opendir( $verzname );  // Befehl zum auslesen wird als variable gespeichert

// Nun folgt eine Schleife in der alle Dateien des Ordners ausgelesen und per img-Tag dargestellt werden
while ( gettype ( $datei = readdir ( $dh )) != "boolean" )
{
print "<img src='$verzname/$datei' border='0' hspace=10 vspace=10>";
}
Du kannst dann auch noch per if-else Anweisung, die Dateitypen die Ausgelesen werden sollen einschränken.
 
Hallo

So habs ausprobiert, hat wunderbar geklapt, naja nicht wunderbar sagen wir nach ein paar Anstrengungen und Überlegungen hab ich es wie ich es wollte hinbeommen :D.

Ich schreibe einfach nochmal den angepassten Code mit den "Klapmenü" hier hin, sollte es noch jemanden geben der sowas brauch. Der erste oben von Astro der ist zwar nicht schlecht aber füllt ganz schön den Bilschirm bei vielen Bildern :) .

PHP:
$verzname="Ordner1/Ordner2"; // Ordner wird als Variable gespeichert (relative angabe zum script)
$dh = opendir( $verzname );  // Befehl zum auslesen wird als variable gespeichert

echo "<select name=\"KLAPMENÜ-NAME\"><option selected>KLAPMENÜ-NAME</option>";

// Nun folgt eine Schleife in der alle Dateien des Ordners ausgelesen und per img-Tag dargestellt werden
while ( gettype ( $datei = readdir ( $dh )) != "boolean" )
{
print "<option value=\"$verzname/$datei\">$datei</option>";
} 
echo "</select>";

OK, Danke nochmal.
Ich komm eventuell auf die Hilfe nochmal zurück in einen anderen Fall.
Ciao
 
Wenn es um Bilder geht, kannst du ja mal den Code von phpBB analysieren - da werden Avatarbilder (wenn vorhanden & erlaubt) in eine Tabelle eingelesen.
 
Ich hatte ja auch nur die auslesen Routine gepostet.

Natürlich lässt sich das noch verfeinern, aber prima das Du damit etwas anfangen konntest.
 
Hallo,

Ob mir noch jemand helfen kann? :)
Also das klapt ja jetzt alles wunderbar aber sobald ich neue Bilder in den Ordner packe werden die nicht mehr ordentlich in die Liste einsortiert sondern einfach unten dran gehangen, gibts ne Möglichkeit die zu sotieren, so das der Code sogesagt immer dazu gezwungen wird?

Wäre gut.

Ciao

P.S.: Kann es sein das das Forum hier im Board etwas schief dargestellt wird? Die Eintäge sind so verrutscht.
 
Nach was sollen sie sortiert werden ???
(Alphabetisch nach Dateinamen ???)

Eine Möglichkeit wäre da, das ganze in ein Array eizulesen, und dann Sortiert auszugeben.

Wenn es das ist was Du meinst, dann sag kurz bescheid, damit ich Dir ein paar Codeschnipsel geben kann.
 
Ja Alphabetisch ist gut :)

Wäre schön wenn du was hast, danke im voraus schon mal.

Ciao
 
Jo, werde jetzt erst mal was essen, und Dir später etwas anbieten.
(Vielleicht kommt ja inzwischen auch Penny vorbei ;) :D )
 
So - nachdem ich nun satt bin, gebe ich Dir wie versprochen eine Lösung.

Also viel ändern musst Du am ursprünglichen Script nicht.

PHP:
$verzname="Ordner1/Ordner2"; // Kann so bleiben
$dh = opendir( $verzname );  // dat auch

// Nun folgt eine Schleife in der alle Dateien des Ordners ausgelesen und in einem array gespeichert werden.

while ( gettype ( $datei = readdir ( $dh )) != "boolean" )
{
$ar[]=$datei;
} 

//Das array wird aufsteigend sortiert, wenn Du die Sortierung umkehren möchtest, müsstest Du stattdessen [COLOR=red]arsort($ar)[/COLOR]  eintragen
asort($ar);
//Jetzt kommt die Ausgabe
echo "<select name=\"KLAPMENÜ-NAME\"><option selected>KLAPMENÜ-NAME</option>";


// Nun folgt eine Schleife in der das array ausgelesen und dargestellt wird
while(list($nummer, $file) = each($ar)){
print "<option value=\"$verzname/$file\">$file</option>";
} 
echo "</select>";

Noch ein kleiner Hinweis:
Sei vorsichtig, wenn Du mit den Dateifunktionen von PHP arbeitest, ein kleiner Fehler kann hierbei dazu führen das der Server abkackt.
Glaube mir, ich rede aus Erfahrung ;) :D

Besser alles zuerst Local ausgiebig testen.
 
Zuletzt bearbeitet:
Hallo,

Jab, geht super.
Danke.

Achso, Das Forum wird immer *verruckelter* :D, bestimmt wegen den php Feldern :)

ciao
 
Jo wenn ich das per Code-Tag eingebe wird der Text pre-formatiert ausgegeben, was dazu führt das kein zeilenumbruch am Tabellenende stattfindet. Daher wird es dann über den Bildschirm hinaus verzerrt, weshalb es etwas komisch aussieht.

Schön das ich Dir helfen konnte:)
 
Oben