einfachste Thumbnail Gallerie

jeti

Grünschnabel
Morgen zusammen!

Ich habe vor kurzem mal Script gefunden, in dem einfach alle Bilder (jpg, gif usw) aus einem Verzeichnis ausgelesen wurden und als thumbnails im Browser ausgegeben wurden, ohne das die thumbs gespeichert werden ...

Weiss einer von Euch, wo ich es herbekommen kann, bzw. hat einer den code?
 
PHP:
<?php
$imgdir = "images/";
$dh = opendir($imgdir);
while($file = readdir($dh)) {
    switch ($file) {
        case ".":
        case "..":
            break;
        default:
        echo "<img src=\"" . $imgdir . $file ."\" height=\"100\">";
            break;
    }
}
closedir($dh);
?>

So in etwa, ist untested :)
 
das ist ja ein bisschen doof, boom..:p
PHP:
echo "<img src=\"" . $imgdir . $file ."\" height=\"100\">";

er will ja ein thumbnail und nicht das ganze bild in klein! (man beachte den unterschied)

aaaaaber: ich hab noch was altes von mir gefunden in der schatzkiste. habs auch kurz getestet, funktioniert. -->Klickmich!

Datei ist angehängt, einfach ins verzeichnis kopieren und alle bilder werden verkleinert angezeigt.

quelltxt:
PHP:
<?php

 function createimage($width, $height){
  $imgh = imagecreate($width, $height);
  $bgc = imagecolorallocate($imgh, 230, 230, 230);
  return $imgh;
 }

 if($path){ // Thumbnail

  $height = 50;  // Maximalhöhe
  $width  = 120; // Maximalbreite


 
  $img_size = getimagesize($path);
  $img_size[4] = $img_size[1]/$height;
  $faktor = 100/$img_size[4];
  $img_size[1] = $img_size[1]/100;
  $img_size[0] = $img_size[0]/100;
  $img_size[1] = $img_size[1]*$faktor;
  $img_size[0] = $img_size[0]*$faktor;

  if($img_size[0] >= 120){
    $img_size[4] = $img_size[0]/$width;
    $faktor2 = 100/$img_size[4];
    if($faktor2 << $faktor){
      $img_size[1] = $img_size[1]/100;
      $img_size[0] = $img_size[0]/100;
      $img_size[1] = $img_size[1]*$faktor2;
      $img_size[0] = $img_size[0]*$faktor2;
    }
  }

  $imgh = createimage($img_size[0], $img_size[1]);
  $imgh2 = imagecreatefromjpeg($path);
  $imgsz = getimagesize($path);
  $black = imagecolorallocate($imgh2, 0, 0, 0);

  imagecopyresized($imgh, $imgh2, 0, 0, 0, 0, $img_size[0], $img_size[1], $imgsz[0], $imgsz[1]);

  header("Content-Type: image/jpeg");
  imagejpeg($imgh, '', 100);
  imagedestroy($imgh);
 } else { // Dateianzeige
  $mydir = dir("./");
  while($file=$mydir->read()) {
    if(getimagesize($file)){
      echo '<img src="' . $PHP_SELF . '?path=' . $file . '"><br>';
	}
  }
}

?>
 

Anhänge

  • thumbdir.zip
    697 Bytes · Aufrufe: 207
das is zwar beides schon ganz nett, aber was mir da ja noch fehlt ist die Möglichkeit das man das auch als link benutzen kann. Also auf den Thumb klicken und man bekommt das Bild in einem neuen Browser-Fenster in Gross angezeigt.
 
Hallo, dann änder die Zeile:
PHP:
echo '<img src="' . $PHP_SELF . '?path=' . $file . '"><br>';
in die um:
PHP:
echo '<a href="'.$file.'"><img src="' . $PHP_SELF . '?path=' . $file . '"></a><br>';

Gruß, snuu
 
brÅinstorm: Das solltest du doch von mir kennen, oder? ;)
Naja, aber er will halt ein Script, dass keine Thumbnails speichert, das macht mein Script nicht. :)
 
Zurück