Ordner aus einem Verzeichnis aulesen
schmichl
- php
Schönen Abend!
Ich habe mir mit PHP eine dynamische Fotogalerie mit Fotoindex, Diashow, Kommentarfunktion usw. gebastelt.
Die Bilder werden aus einem Ordner ausgelesen und nacheinander aufgelistet (der Ordner wird z.B. so angegeben: galerie.php?album=fotoseins).
Dafür habe ich dieses Schnipsel verwendet:
$bild_pfad = "./fotos/".$_GET['id']."";
$open_pfad=@opendir($bild_pfad);
$PicCODE= 1;
while ($find = @readdir($open_pfad)) // Ordnerinhalt auslesen
{
if (preg_match("/.(jpg|gif)$/i", $find))
{
$bild[$PicCODE] = "$bild_pfad/$find";
$PicCODE++;
}
}
Jetzt habe ich den Ordner Fotos mit vielen Unterordnern, z.B. eben fotoseins, fotoszwei usw.
Damit will ich eine Übersichtsliste aller Alben machen, ich schätze das müsste gehen, wenn man den Stammordner Fotos ausliest und für jeden gefundenen Unterordner einen Link zu diesem Album macht.
Nur WIE löse ich das????
ich habe noch nichts passendes im www gefunden...
Dann bräuchte ich nur noch eine Lösung, um eine Beschreibung jedes Albums zu ermöglichen (ev. in einer Textdatei, die ausgelesen wird??)
Ich hoffe ihr versteht halbwegs mein Problem!
Mfg,
schmichl
PS: Toll wäre es auch, wenn man ein Fotoalbum auch vor der Öffentlichkeit verstecken könnte, so dass das Script an einem Merkmal erkennt, dass der Ordner noch nicht freigegeben wurde.
Moin!
mit is_dir() lässt sich prüfen ob der ausgelesene dateiname ein ordner ist:
if(is_dir($find)){
echo "<a href='[dein link]'>";
}
du kannst alle nicht sichtbaren alben mit dem suffix _off versehen:
album1
album2_off
if(substr($find,-4) != "_off"){
echo "<a href='[dein link]'>";
}
album1 wird ausgegeben album2_off nicht.
tschüssi
ichen
Hallo Ichen!
Ich habe das jetzt einmal so probiert:
$stammordner = "fotos/";
$open_sto=opendir($stammordner);
while ($ordner=readdir($open_sto))
{
if ($ordner!="." && $ordner!="..")
{
if(is_dir($ordner))
{
echo "$ordner<br>";
}
}
}
closedir($open_sto);
Ich bekomme aber keinen Buchstaben zu sehen!
Wenn ich als Stammordner einen Punkt verwende, bekomme ich den Ordner Fotos und die anderen zu sehen, aber das mit den Unterordnern innerhalb des Ordners fotos geht nicht....
Was habe ich da falschgemacht????
Mfg,
schmichl
Moin!
man muss anscheinend den pfad vollständig angeben:
<?php
$stammordner = "fotos/";
$open_sto =opendir($stammordner);
while ($ordner=readdir($open_sto))
{
if ($ordner != "." && $ordner != "..")
{
if(is_dir($stammordner.$ordner)){
echo $ordner."<br>";
}
}
}
closedir($open_sto);
?>
also statt is_dir($ordner) - is_dir($stammordner.$ordner)
tschüssi
ichen
Danke Ichen, es hat funktioniert!!!
Noch eine allgemeine Frage:
Wenn man mehrere Textfiles mit durchschnittlich ca. 10kb mit file() in ein Array einliest, ist das eine große Belastung für den Server bzw. werden die Ladezeiten dadurch länger???
Ich will aus mehreren .txt-Datein nämlich immer jeweils die erste Zeile lesen.
MfG,
schmichl