欣波微澜

用心生活用爱沟通!

最近一直在找能用的图片上传压缩的插件,却一直没找到适合自己用的!
所以干脆自己动手吧,结果研究完才发现几行代码就搞定的事。而且压缩效果不错,压缩完几乎没什么损失,暂时只写了jpg文件,png的需要多几行代码转为jpg后再压缩,否则图片损失很严重,够自己用也就懒得多研究了。也懒得写进插件,毕竟真的很简单,直接写到upload.php文件里就ok的

具体如下:

找到系统文件:var/Widget/upload.php
在第328行前面加上以下代码保存

注意这里只是实现了编辑文章时上传压缩,附件管理中替换上传不会压缩

/**
 * 图片压缩 默认大于1M时会进行压缩,可自行修改
 * 支持jpg图片,如果要压缩png,需要添加相关代码先将png转为jpg再压缩
 **/
if ($file['size'] > 1 * 1024 * 1024 && ($ext == "jpg" || $ext == "jpeg")) {
    list($width, $height, $type, $attr) = getimagesize($path);
    
    $image = imagecreatefromjpeg($path);
    $newimage = imagecreatetruecolor($width,$height);
    imagecopyresampled($newimage, $image,0,0,0,0,$width,$height,$width,$height);      
    imagejpeg($newimage,$path);

    imagedestroy($newimage);
    imagedestroy($image);

    $file['size'] = filesize($path);
}

//这是第328行
if (!isset($file['size'])) {
    $file['size'] = filesize($path);
}
游客

讨论 (0)

温馨提示

用心生活用爱沟通!

本站已稳定运行14年16天

双击标题可以返回顶部

同款主题 / 关于我们 / 友链

京ICP备16065789号-5

-- Desined by vbolu --

Loading...