Bilderausgabe aus Ordner sortieren

Sprite

Mitglied
Hallo zusammen,

ich habe mir ein kleines Script zusammengebaut, um in einem Ordner die Bilder auszulesen und dann untereinander auszugeben.
Das funktioniert soweit ganz gut, doch leider werden die Bilder unsortiert vom Server ausgegeben, was ich gerne ändern möchte.

Das Problem dabei ist, dass ich mit arrays noch keine Erfahrung habe (das Script ist teilweise mit Hilfe Anderer entstanden).


Infos zur Arbeitsweise:
Die Bilder haben alle unterschiedliche Namen. Beispiel: fisch15.jpg, pflanze_gruen.jpg, yellow.jpg
Die Bilder haben alle Thumbnails, mit k-Zusatz. Beispiel: fisch15k.jpg, pflanze_gruenk.jpg, yellowk.jpg
Das Script sucht nur nach JPEGs. Das Script ignoriert Bilder, die mit k.jpg enden, also die Thumbs sind.

Genug geredet, hier das Script.

PHP:
$anzahl = 0;
echo '<table border="0" cellspacing="0" cellpadding="0" width="90%" align="center"><tr>';
$d = dir("/var/www/usw/root/bilder/allgemein/".$ordner);
while ($entry = $d->read()){
	if(strpos($entry, ".jpg") == false) continue;	// Skip nicht-JPEG-Files
	if(strpos($entry, "k.jpg") == true) continue;	// Skip Thumbnails
	if (substr($entry,0,1)==".") continue;		// Skip Ordner
	$paste  = explode(".", $entry);
	$kpaste = $paste[0]."k.".$paste[1];
	if ($anzahl%4 == 0) echo '</tr><tr>';
	$anzahl++;
	echo '<td align="center"><b>Bild '.$anzahl.'</b><br><a href="/bilder/allgemein/'.$ordner.'/'.$entry.'"
target="_blank"><img src="/bilder/allgemein/'.$ordner.'/'.$kpaste.'"
alt="'.$entry.'" border="0"></a><br>'.$entry.'<br><br><br></td>';
}
$d->close();
echo '</tr></table>';




Bei der Suche bin ich hier drauf gestoßen, allerdings wollte ich die Threadleiche nicht ausgraben. Bei genanntem Thread komme ich mit der Ausgabe nicht wirklich zurecht, da es immer die gesamte URL mit http://www.usw.de anfügt.

Bin über jede Sortier-Hilfe in der Ausgabe dankbar :).
 
Untested:

PHP:
$anzahl = 0;
echo '<table border="0" cellspacing="0" cellpadding="0" width="90%" align="center"><tr>';
$d = dir("/var/www/usw/root/bilder/allgemein/".$ordner);
while ($entry = $d->read()){
  $entries[] = $entry;
}
$d->close();

sort($entries);

foreach ($entries as $entry) {
    if(strpos($entry, ".jpg") == false) continue;    // Skip nicht-JPEG-Files
    if(strpos($entry, "k.jpg") == true) continue;    // Skip Thumbnails
    if (substr($entry,0,1)==".") continue;        // Skip Ordner
    $paste  = explode(".", $entry);
    $kpaste = $paste[0]."k.".$paste[1];
    if ($anzahl%4 == 0) echo '</tr><tr>';
    $anzahl++;
    echo '<td align="center"><b>Bild '.$anzahl.'</b><br><a href="/bilder/allgemein/'.$ordner.'/'.$entry.'" target="_blank"><img src="/bilder/allgemein/'.$ordner.'/'.$kpaste.'" alt="'.$entry.'" border="0"></a><br>'.$entry.'<br><br><br></td>';
}
echo '</tr></table>';

snuu
 
Wow, funktioniert. Danke snuu.

Bin immer wieder beeindruckt, wieviel Routine ihr darin habt, einfach so etwas zu ergänzen. Ich hoffe, bei mir ist das auch irgendwann so, damit ich dann auch anderen helfen kann.
 
Zurück