PHP GIF-Bilder verkleinern

Schumiel

Lieutenant
Registriert
Jan. 2010
Beiträge
838
Hallo,

und zwar verkleinere ich GIF-Bilder wie folgt:

PHP:
<?php
$ordner = "images";
$handle = opendir($ordner);
while ($file = readdir ($handle)) {
    if($file != "." && $file != "..") {
        if(is_dir($ordner."/".$file)) {
            echo "/".$file."<br/>";
        } else {
            // kompletter Pfad
            $compl = $ordner."/".$file;
            echo "<a href=\"".$compl."\">".$file."</a><br/>";

$filefoto = $ordner.'/'.$file;

$Grafikdatei = $filefoto;

$Bilddaten = getimagesize($Grafikdatei);

$OriginalBreite = $Bilddaten[0];
$OriginalHoehe = $Bilddaten[1];
$ThumbnailBreite = 20;

if($OriginalBreite < $ThumbnailBreite)
{
$ThumbnailBreite=$OriginalBreite;
}

$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);

if($Bilddaten[2] == 1)
{
$Originalgrafik = ImageCreateFromGIF($Grafikdatei);

$Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe); 

$white = ImageColorAllocate($Thumbnailgrafik, 255, 255, 255);
ImageFill($Thumbnailgrafik, 0, 0, $white);

imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
ImageGIF($Thumbnailgrafik, $file, 100); 
}

        }
    }
}
closedir($handle);
?>

Diese Bilder sind zwischen 80x80 und 144x144 Pixel groß. Proportion ist immer gleich. Alle diese Bilder sollen auf 20x20 Pixel verkleinert werden. Einige Bilder werden auch erstellt, doch eine Vielzahl nicht. Woran kann das liegen oder wo liegt ein Problem in der Programmierung?
 
Sind es auch wirklich alles gifs? Oder sind auch jpgs etc. dabei,die nur die Endung gif haben?
Dann würde das ja durch
if($Bilddaten[2] == 1)
nicht mehr funktionieren. Häng doch ein Else dadran und gebe Dateiname und Konstante aus.
 
Zurück
Oben