欢迎光临卢大叔的自留地!
双击窗口标题可以返回顶部
底部导航显示不全时可以左右滑动
备案号:京ICP备16065789号-5
卢大叔的自留地
2023,加糖,去冰 !
最近一直在找能用的图片上传压缩的插件,却一直没找到适合自己用的!
所以干脆自己动手吧,结果研究完才发现几行代码就搞定的事。而且压缩效果不错,压缩完几乎没什么损失,暂时只写了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);
}