PHp - Speicherfehler beim Ändern der Größe eines PNG-Bildes
Ich habe ein Skript, das aus einem hochgeladenen Bild eine Miniaturansicht erstellt. es funktioniert gut mit jpgs, gibt mir aber einen fehler
Schwerwiegender Fehler: Die zulässige Speichergröße von 67108864 Byte ist erschöpft (es wurde versucht, 26250000 Byte zuzuweisen).
wenn ich ein PNG-Bild hochlade.
Das Skript lautet:
//create thumbnail; $modwidth and height are calculated in another part of the script
//$original is the path to the full sized image
$tn = imagecreatetruecolor($modwidth, $modheight);
switch (strrchr($new_image_name,'.')) {
case ".jpg":
$image = imagecreatefromjpeg($original);
break;
case ".jpeg":
$image = imagecreatefromjpeg($original);
break;
case ".png":
$image = imagecreatefrompng($original);
break;
case ".gif":
$image = imagecreatefromgif($original);
break;
}
imagecopyresampled($tn, $image, 0, 0, $x_pos, $y_pos, $modwidth, $modheight, $width, $height);
switch (strrchr($new_image_name,'.')) {
case ".jpg":
imagejpeg($tn, $target_path, 100);
break;
case ".jpeg":
imagejpeg($tn, $target_path, 100);
break;
case ".png":
imagepng($tn, $target_path, 0);
break;
case ".gif":
imagegif($tn, $target_path);
break;
}
Wie gesagt funktioniert es perfekt mit JPGs und auch mit GIFs. Dieser Speicherfehler tritt nur bei PNGs auf, und ich habe nur ein 1,2-MB-Bild verwendet.
Wie kann ich das lösen? danke Patrick