Ordner zuerst sortieren
Fledermaus
- php
0 Tom0 Fledermaus0 Tom0 Fledermaus0 Tom
Hallo,
Kann mir bitte jemad helfen ich möchte die Fotos aus dem Ordner vor dem Auslesen sortieren aber ich bekomm es nicht hin!
<?php
$dir="bilder/$ordner";
$src=opendir($dir);
while (false !== ($filename = readdir($src))) { $imgsrc[] = $filename;}
if(!$imgsrc[2]) {
echo "Es sind keine Bilder im Verzeichnis vorhanden!";
}else{
$path=$dir."/".$imgsrc[2];
?>
Ich weis das ich readdir sortieren muss aber leider nicht wie!
Mfg Johannes
Hello,
Kann mir bitte jemad helfen ich möchte die Fotos aus dem Ordner vor dem Auslesen sortieren aber ich bekomm es nicht hin!
Wenn Du nur die Namen aus einem Verzeichnis auslesen willst, dann könnte
glob()
für Dich die passende Funktion sein. Die kann auch (per default) sortieren.
http://de3.php.net/manual/en/function.glob.php
Wenn Du mit readdir() arbeiten willst, dann musst Du die Namen _erst_ in einem Array sammeln und kannst dann das Array sortieren lassen. Das macht glob() in einem Schritt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Tom,
Wo und wie muss ich die Funktion gloub() einfügen?
Mfg Johannes
Hello,
Wo und wie muss ich die Funktion gloub() einfügen?
Die Funktion heißt glob() http://de.php.net/manual/en/function.glob.php
<?php
$dir="bilder/$ordner";
### Alle Filenamen im Verzeichnis einsammeln im Array
$_filenames = glob($dir.'/*.*);
### alle Nicht-Bilder aus dem Array entfernen
foreach($_filenames as $key => $name)
{
if (false === getimagesize($name))
{
unset($_filenames[$key]);
}
}
if (count($_filenames) == 0)
{
echo "Es sind keine Bilder im Verzeichnis vorhanden!";
}
else
{
### Deine Funktion aufrufen, die den HTML-Code für die Bildergalerie
### in eine Ausgabe-Variable schreibt, die dann später in Dein
### Template eingesetzt wird :-)
$output['gallery'] = make_gallery_html($_filenames);
}
?>
Ein kleines Anwendungsbeispiel für Zufallsbilder findest Du unter:
http://selfhtml.bitworks.de/snippets/directories_auslesen/zufallsbilder_anzeigen/
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
»» Wo und wie muss ich die Funktion gloub() einfügen?
Die Funktion heißt glob() http://de.php.net/manual/en/function.glob.php
<?php
$dir="bilder/$ordner";
### Alle Filenamen im Verzeichnis einsammeln im Array
$_filenames = glob($dir.'/*.*);### alle Nicht-Bilder aus dem Array entfernen
foreach($_filenames as $key => $name)
{
if (false === getimagesize($name))
{
unset($_filenames[$key]);
}
}if (count($_filenames) == 0)
{
echo "Es sind keine Bilder im Verzeichnis vorhanden!";
}
else
{
### Deine Funktion aufrufen, die den HTML-Code für die Bildergalerie
### in eine Ausgabe-Variable schreibt, die dann später in Dein
### Template eingesetzt wird :-)$output['gallery'] = make_gallery_html($_filenames);
}
?>Ein kleines Anwendungsbeispiel für Zufallsbilder findest Du unter:
http://selfhtml.bitworks.de/snippets/directories_auslesen/zufallsbilder_anzeigen/Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
Danke für die schnelle Antwort,
aber irgendie muss ich $imgsrc[] herkriegen aber wie mach ich denn das?
Mfg Johannes
Hello,
else
{
### Deine Funktion aufrufen, die den HTML-Code für die Bildergalerie
### in eine Ausgabe-Variable schreibt, die dann später in Dein
### Template eingesetzt wird :-)$output['gallery'] = make_gallery_html($_filenames);
}
Danke für die schnelle Antwort,
aber irgendie muss ich $imgsrc[] herkriegen aber wie mach ich denn das?
Das steht schon fertig aufbereitet im Array $_filenames.
Lass Dir das Array doch mal anzeigen.
(Tausch doch einfach mal den Else-Zweig gegen den folgenden Code aus :-)
else
{
echo "<pre>\r\n";
echo htmlspecialchars(print_r($_filenames,1));
echo "</pre>\r\n";
}
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg