输出到文件,而不是使用PHP的jpeg标头

时间:2013-07-15 13:54:44

标签: php image file-io

提出了以下调整图像大小的代码,但它不会将文件输出到picture2.jpg而只是显示在屏幕上。

$src_img = imagecreatefromjpeg('picture.jpg');
$srcsize = getimagesize('picture.jpg');

$dest_x = 500;
$dest_y = (500 / $srcsize[0]) * $srcsize[1];

$dst_img = imagecreatetruecolor($dest_x, $dest_y);

//  Resize image
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_x, $dest_y, $srcsize[0], $srcsize[1]);


//  Output image
header("content-type: image/png");
imagepng($dst_img);

$myFile = "picture2.jpg";
$fh = fopen($myFile, 'w');
fwrite($fh, $dst_img);
fclose($fh);

//  Deletes images
imagedestroy($src_img);

因为您认为可以使用fwrite写入文件而丢失了为什么它不会这样做。

1 个答案:

答案 0 :(得分:0)

要将图像保存到文件,请使用imagepng / imagejpeg的第二个参数

 imagejpeg($dst_img, "picture2.jpg");

 imagepng($dst_img, "picture2.png");

省略此参数只是将文件发送到输出缓冲区。