Hallo, ich habe hier ein Script das ein Bild verkleinert. Es funktioniert ja einwandfrei wenn die Bilder kleiner 1MB sind. Jedoch sollte es für alle Größen funktionieren. Es tritt aber nur auf wenn ich das Bild verkleiner wenn ich das Bild in originalgröße lade und generiere ohne verkleinerung funktioniert es einwandfrei.
Hier ist der Code
Vielleicht fällt euch was ein >> Danke im voraus.
Hier ist der Code
PHP-Code:
<?
$file = "../f3c2cefc1f3b082a56f52902484ca511/".$_GET['file'];
$x = $_GET['x'];
$y = $_GET['y'];
// security check --->
// MAX THUMB SIZE
$MAX_THUMB_SIZE_W = 140;
$MAX_THUMB_SIZE_H = 105;
if ( $x > $MAX_THUMB_SIZE_W )
{
$x = $MAX_THUMB_SIZE_W;
}
if ( $y > $MAX_THUMB_SIZE_H )
{
$y = $MAX_THUMB_SIZE_H;
}
// <--- security check
$info = getimagesize($file);
/* $info :
• Breite des Bildes
• Höhe des Bildes
• Grafik-Typ - 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF
• HTML-Zeichenkette - "height=xx width=xx"
*/
switch($info[2])
{
case 1:
$image = imagecreatefromgif($file);
break;
case 2:
$image = imagecreatefromjpeg($file);
break;
case 3:
$image = imagecreatefrompng($file);
break;
}
$image_cpy = imagecreatetruecolor($x, $y);
imagecopyresized ( $image_cpy, $image,
0, 0, // destination coordinates (x,y)
0, 0, // source coordinates (x,y)
$x, $y, // destination size (w,h)
$info[0], $info[1] ); // source size (w,h)
switch($info[2])
{
case 1:
imagegif($image_cpy);
break;
case 2:
imagejpeg($image_cpy);
break;
case 3:
imagepng($image_cpy);
break;
}
imagedestroy($image_cpy);
?>
Kommentar