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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage