PHp - błąd pamięci podczas zmiany rozmiaru obrazu PNG

Mam skrypt, który tworzy miniaturę z przesłanego obrazu. działa dobrze z jpg, ale daje mi błąd

Błąd krytyczny: wyczerpano dozwoloną wielkość pamięci 67108864 bajtów (próbowano przydzielić 26250000 bajtów)

kiedy przesyłam obraz png.

Skrypt jest:

//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;
}

Jak powiedziałem, działa idealnie z JPG, a także z GIF-ami. Ten błąd pamięci pojawia się tylko w PNG i użyłem tylko obrazu 1,2 MB.

Jak mogę to rozwiązać? dzięki Patrick

questionAnswers(2)

yourAnswerToTheQuestion