PHP图片压缩的方法

来源:互联网 发布:talkingdata数据造假 编辑:程序博客网 时间:2024/06/05 18:59

项目里要求上传图片并进行缩放、压缩质量保存到服务器。

起初用php的image函数,结果jpg格式的图片保存正常,png格式的图片保存到服务器后损坏,大小变为0,方法如下:

if ($imageType == '.jpg') {    $src = @imagecreatefromjpeg ($url_tmp);    list($width,$height) = getimagesize($url_tmp);    $newwidth = 500;    $newheight = ($height/$width)*500;    $tmp = imagecreatetruecolor($newwidth,$newheight);    imagecopyresized($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    $output = imagejpeg($tmp, $url_tmp, 50);    imagedestroy($tmp);} elseif ($imageType == '.jpg') {    $src = @imagecreatefrompng ($url_tmp);    list($width,$height) = getimagesize($url_tmp);    $newwidth = 500;    $newheight = ($height/$width)*500;    $tmp = imagecreatetruecolor($newwidth, $newheight);    imagecopyresized($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    $output = imagepng($tmp, $url_tmp, 50);//此行输出也为1,但保存到服务器就损坏了;后来发现对png图片用imagejpeg也能保存成功为png图片且未损坏。    imagedestroy($tmp);}if (!$output) {    echo '图片压缩失败';}



后来更改方法,引入了ThinkImage图片处理库,解决了jpg和png图片压缩、压质的问题,具体见下面链接:

http://www.thinkphp.cn/extend/291.html

1 0
原创粉丝点击