Не удалось сохранить загруженный файл PNG - PullRequest
0 голосов
/ 02 февраля 2012

Я могу загружать файлы JPG, но не файлы PNG.
Изображение PNG не сохраняется, но выводит это ‰PNG À À°£ûïS JÄž Ÿ¬™Ù<íû;

Мой код такой:

  $source_gd_image = imagecreatefrompng( $sourcefile ); // <-- If PNG file
  $target_gd_image = imagecreatetruecolor( $target_image_width, $target_image_height );

  if($source_image_type == IMAGETYPE_PNG) {
    imagealphablending($target_gd_image, true); // Should this be false?
    imagesavealpha($target_gd_image, true); 
    imagepng($target_gd_image); // <-- This is where the gibberish is outputed
  }

  if($source_image_type == IMAGETYPE_JPEG) {
    imagecopyresampled( $target_gd_image, $source_gd_image, 0, 0, 0, 0, $target_image_width, $target_image_height, $source_image_width, $source_image_height );
    imagejpeg( $target_gd_image, $target_file, $quality );
  }

  imagedestroy( $source_gd_image );
  imagedestroy( $target_gd_image );

Что я делаю не так?

1 Ответ

4 голосов
/ 02 февраля 2012

Как и в случае imagejpeg, вы должны указать имя файла в качестве второго параметра , если вы хотите сохранить его в файл, в противном случае он просто выводится наbrowser.

Предполагая, что $ target_file является желаемым именем выходного файла, что означает использование:

imagepng($target_gd_image, $target_file);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...