phpcms图片自动压缩功能
在公共类中写一个自动压缩的方法:
phpcms\libs\functions\extention.func.php
**
- @param $imgName
- @return mixed|string
- $imgpath 原图存放地址
- $thumbpath 压缩后图片存放路径
*/
function compress ($imgName){
imgPath=PHPCMSPATH.trim(imgName, ‘/’);
$Patharray = explode(’/’, $imgName);
fileName=end(Patharray);
//创建thumb文件夹,保存压缩后的图片
header(“Content-type:text/html;charset=utf-8”);
$path="/uploadfile/thumb/";
dirPath=PHPCMSPATH.path;
if(!is_dir(KaTeX parse error: Expected '}', got 'EOF' at end of input: …h)){
mkdir(dirPath,0777,true);
}
$thumbPath = PHPCMS_PATH . ‘uploadfile/thumb/’ . fileName;if(fileexists(thumbPath)) {
return APP_PATH . ‘uploadfile/thumb/’ . $fileName;
}else{
src=imagecreatefromjpeg(imgPath);
srcw=imagesx(src);
srch=imagesy(src);
//设置缩略图大小
$dst_w = $src_w1;
$dst_h = $src_h1;
dst=imagecreatetruecolor(dst_w,dsth);//图片采样复制imagecopyresampled(dst,src,0,0,0,0,dst_w,dsth,src_w,srch);//保存缩略图imagejpeg(dst,thumbPath);//销毁资源imagedestroy(src);
imagedestroy($dst);
thumbPath=strreplace(PHPCMSPATH,"/",thumbPath);
return $thumbPath;
}
}


在html页面中直接调用
{compress ($rs[‘thumb’])}