Also, unten folgt das Script für eine Fotogalerie. Ausgabe erfolgt, jedoch in einer saumiesen Qualität und der Link auf die Originalfotos funktioniert zwar, zeigt das Foto in der gleichen Grösse und Qualität an.
Bitte um Hilfe, sollte das Morgen fertig haben.
Danke im voraus
PHP-Code:
<?php
error_reporting(E_ALL);
class thumbnail
{
var $ordner,$zeilen, $spalten;
//Membervariablen
function setVar ($pfad,$ordner,$hoch,$breit,$spalten,$zeilen)
{
$this->pfad = $pfad;
$this->ordner = $ordner;
$this->hoch = $hoch;
$this->breit = $breit;
$this->spalten = $spalten;
$this->zeilen = $zeilen;
}
function erstellen ()
{
$count="";
$bild="";
//Anzahl der Dateien im Verzeichnis
$pfad = "fotogalerie/".$this->ordner;
$dir = opendir($pfad);
while ($a = readdir($dir))
{
if (is_file("$pfad/$a"))
$count++;
}
closedir($dir);
//Ausgabe
$beginn = 1;
$ende = $beginn + $this->spalten;
for($x = 1; $x <= $this->zeilen; $x++ )
{
for($datei = $beginn; $datei < $ende; $datei++)
{
//header('Content-type: image/jpeg');
//Jpg Manipulation
$fotopfad = $this->pfad."/".$this->ordner."/".$datei.".jpg";
list($width_orig, $height_orig) = getimagesize($fotopfad);
if($width_orig >= $height_orig)
{
$new_width = $this->breit;
$new_height = $height_orig * $this->breit / $width_orig;
}
if($width_orig < $height_orig)
{
$new_height = $this->breit;
$new_width = $width_orig * $this->hoch / $height_orig;
}
$old_image = imagecreatefromjpeg($fotopfad);
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $old_image, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig);
imagejpeg($new_image, $fotopfad, 100);
echo "<a href=\"$fotopfad\" WIDTH=\"$width_orig\" HEIGHT=\"$height_orig\"><IMG SRC=\"$fotopfad\" WIDTH=\"$new_width\" HEIGHT=\"$new_height\"></a>";
}
$beginn = $beginn + $this->spalten;
$ende= $beginn + $this->spalten;
echo "
";
}
}
}
$fotogalerie = new thumbnail;
$fotogalerie->setVar ("fotogalerie","palacio",200,200,3,2);
echo $fotogalerie->erstellen ();
?>