将png转换为jpg并下载jpg图像

时间:2013-05-15 12:38:07

标签: php image download png jpeg

我已选择用户将图像导出为JPG并且我已存储png图像
所以,我已经创建了一些PHP脚本来实现这一点 png正在转换罚款。
但当我下载jpg图像并尝试在图像查看器中打开时,其显示已损坏。
我的PHP代码:

将PNG转换为JPG

$input_file = 'images/image1364926178.png';
$filename = time().'.jpg';
$output_file = 'images/'.$filename;                 
$input = imagecreatefrompng($input_file);
if($input){
    list($width, $height) = getimagesize($input_file);
    $output = imagecreatetruecolor($width, $height);
    $white = imagecolorallocate($output,  255, 255, 255);
    imagefilledrectangle($output, 0, 0, $width, $height, $white);
    imagecopy($output, $input, 0, 0, 0, 0, $width, $height);
    imagejpeg($output,$output_file);
}

脚本下载jpg图像

$Image_file_name = '/images/'.$filename;
$filedetail = getimagesize($filename);
$mimetype = $filedetail['mime'];
if (file_exists($filename)) {
    @ob_end_clean();                    
    header('Content-Description: File Transfer');
    header('Content-Type: '.$mimetype);
    header('Content-Disposition: attachment; filename='.basename($filename));
    header("Content-Transfer-Encoding: binary");
    header('Accept-Ranges: bytes');
    header('Cache-Control: private');
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
}

我做错了什么?
或者是否有更好的想法如何做到这一点?

先谢谢

1 个答案:

答案 0 :(得分:0)

一个简单的谷歌让我得到这个question on stackoverflow,一个简单的功能来转换图像。

对于正确的jpg标题,我找到了this answer

将两者结合起来应该完成工作