Jessica: Größe und Design

Beitrag lesen

Hallo und guten Nachmittag,

Kennst Du auch schon die PHP-Funktionen glob() (als Alternative für readdir() ) und getimagesize()?

das hat mir Der Martin heute Nachmittag bereits gesagt, hab damit auch schon bisschen rumgespielt

$verzeichnis_vorschau	= "bilder";
$bilder 		= glob("$verzeichnis/*.{jpg,jpeg,JPG,JPEG}", GLOB_BRACE);

foreach($bilder as $bild) {
	echo "<a href='$bild' class='fancybox-button' rel='fancybox-button'><img src='vorschaubilder/$bild' alt='Vorschaubild' /></a>\n";
}

leider ohne großen Erfolg, ich sehe zwar alle Bilder, aber meine kleine Vorschaubilder liegen ja in einem anderen Ordner und er gibt mir ständig einen falschen Pfad an, also habe ich es erstmal wieder gelassen.

Wenn deine Bildergalerie nun keine Semantische Ordnung einhalten muss, sondern die Bilder nur nach Größe aufgereiht werden sollen, also dass die Zeilen immer voll werden, dann kannst Du sie doch vorher "sortieren" und für die Ausgabe wieder mischen. Ich habe das nun so verstanden, dass Du das auch willst?

  1. Hole Dir alle Bilder z.B. mit glob() in ein Array (A).
  2. gehe das Array Element für Element durch, kontrolliere mit getimagesize() nochmal, ob das Element ein Bild ist, stelle das Format fest,
  3. sortiere die hochformatigen in Array (B)
  4. sortiere die querformatigen in Array (C)
  5. erzeuge für die Ausgabe in einer Schleife mehrfach das Array (D), in dem immer die Zeile gefüllt ist. Die beiden Quell-Arrays (B) und (C) werden dabei immer um das jeweils entnommene Bild verkürzt.

Hört sich sehr gut an, aber wie heute Nachmittag mehrfach erwähnt kenne ich mich mit PHP 0 aus, alle was ich bis jetzt erreicht habe, habe ich mir aus dem Netz irgendwoher gezogen und getestet ob es funktioniert.