您现在的位置是:首页 > cms教程 > PbootCMS教程PbootCMS教程
pbootcms压缩图片上传优化方法
幻柏2024-12-11PbootCMS教程已有人查阅
导读最近在用PbootCMS给客户优化一个功能,原因是这样的:使用PbootCMS给客户做了一个报名系统,需要上传大量的身份证照片,差不多在10万张左右,就会造成服务器内存空间占用量很大
最近在用PbootCMS给客户优化一个功能,原因是这样的:使用PbootCMS给客户做了一个报名系统,需要上传大量的身份证照片,差不多在10万张左右,就会造成服务器内存空间占用量很大,现在优化一个图片压缩的功能。
首先找到PbootCMS的图片上传方法:
位置:admin \ controller \ IndexController.php
具体的upload方法:
增加一个等比压缩图片的方法:compressedImage
具体方法示例:
首先找到PbootCMS的图片上传方法:
位置:admin \ controller \ IndexController.php
具体的upload方法:
增加一个等比压缩图片的方法:compressedImage
具体方法示例:
/**
* desription 压缩图片
* @param string $imgsrc 图片路径
* @param string $imgdst 压缩后保存路径,从项目根目录开始的路径(为空则输出图片)
* @param string $imgwidth 等比压缩图片 图片的宽度
*/
public function compressedImage($imgsrc, $imgdst ,$imgwidth = 800)
{
list($width, $height, $type) = getimagesize($imgsrc);
$newWidth = $width > 800 ? 800 : $width; //图片宽度的限制
$newHeight = $height > 800 ? ceil($height * 800 / $width) : $height; //自适应匹配图片高度
switch ($type) {
case 1:
#先判断是否为gif动画
$fp = fopen($imgsrc, 'rb');
$image_head = fread($fp, 1024);
fclose($fp);
$giftype = preg_match("/" . chr(0x21) . chr(0xff) . chr(0x0b) . 'NETSCAPE2.0' . "/", $image_head) ? false : true;
if ($giftype) {
header('Content-Type:image/gif');
$image_wp = imagecreatetruecolor($newWidth, $newHeight);
$image = imagecreatefromgif($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
//90代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst, 90);
imagedestroy($image_wp);
imagedestroy($image);
}
break;
case 2:
header('Content-Type:image/jpeg');
$image_wp = imagecreatetruecolor($newWidth, $newHeight);
$image = imagecreatefromjpeg($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
//90代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst, 90);
imagedestroy($image_wp);
imagedestroy($image);
break;
case 3:
header('Content-Type:image/png');
$image_wp = imagecreatetruecolor($newWidth, $newHeight);
$image = imagecreatefrompng($imgsrc);
imagecopyresampled($image_wp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
//90代表的是质量、压缩图片容量大小
imagejpeg($image_wp, $imgdst, 90);
imagedestroy($image_wp);
imagedestroy($image);
break;
}
}
此等比压缩方法,主要解决的问题是:现在客户上传的身份证照片是1920宽的照片,我们处理的思路是:按照原尺寸进行等比压缩处理。通过测试,能够将500kb左右的图片,压缩到60k左右。
本文标签:
很赞哦! ()
下一篇:pbootcms权限管理逻辑分析
相关教程
图文教程
PbootCMS去除UEditor编辑器图片自动添加的title和alt属性的方法
在PbootCMS中,UEditor编辑器在上传图片时会自动添加title和alt属性,这些属性的值通常是图片的文件名,这在SEO和用户体验方面可能并不理想。为了优化这一点
pbootcms开发手册IF条件语句使用方法介绍
IF条目语句使用,标签作用:用于根据条件输出不同内容注意:从V3.2.0开始,if标签仅支持'>'、'>='、'!='、'=='、'<='、'<'、'&&'、'||'、'%'等符号,详情可查看V3.2.0开发日志
pbootcms增加foreach指定内容按条件遍历(默认逗号条件)方法
通过二次开发新增的这个标签可以实现按指定的字符进行遍历,不填写char参数默认使用逗号进行分割遍历。如上图:图中想把abcd用竖线进行分割,也可以使用逗号或其他自定义符号。
PbootCMS制作个性分页条单页/总页数效果的代码实例
实现效果第一步:PbootCMS 单页/总页数 分页条效果显示上一页,下一页,首页,尾页,和当前页,以及当前页位于总页数的位置这种分页效果简洁明了,适合博客站和咨询站等网站使用
相关源码
-
(自适应)绿色LED灯具照明灯饰灯光灯泡pbootcms网站源码下载本模板基于PbootCMS内核开发,为LED照明、灯具制造及相关光电技术企业量身打造。设计充分考虑了照明行业的展示需求,从产品陈列到技术说明,从光源展示到工程案例,每一个细节都体现出专业照明行业的特点。查看源码 -
(自适应)刷卡pos机数据移动支付设备电子科技pbootcms模板下载本模板为POS机设备制造商、移动支付终端服务商和科技企业设计,基于PbootCMS系统开发,提供完整的在线展示平台解决方案,满足支付设备行业特有的展示需求。查看源码 -
响应式粉色美容整形化妆品pbootcms网站模板开源源码该网站模板为美容整形、化妆品企业设计,采用响应式布局确保在手机、平板及PC端自动适配显示效果。基于PbootCMS内核开发,支持一键替换图文内容快速转换至其他行业应用。查看源码 -
(自适应)工商代理公司注册财务会计pbootcms模板免费下载为工商代理、财务会计服务企业设计的网站模板,基于PbootCMS开发,充分考虑了企业服务行业的展示需求与客户转化路径。设计风格专业严谨,布局清晰合理,呈现企业服务内容与专业优势。查看源码 -
(自适应响应式)房产合同知识产权企业管理pbootcms模板下载本模板基于PbootCMS系统开发,为知识产权服务、法律咨询及企业合同管理等行业设计。采用严谨专业的布局风格,突出法律文书与知识产权服务行业特色,适合展示各类法律服务和知识产权相关内容。查看源码 -
(自适应响应式)HTML5幕墙装饰工程建筑装修公司pbootcms模板下载基于PbootCMS开发的响应式模板,为幕墙工程、建筑装饰企业设计,通过数字化展示提升企业专业形象与项目展示能力。结构化数据标记增强项目案例收录,智能URL路由优化,支持每个工程案例独立设置关键词与描述查看源码
| 分享笔记 (共有 篇笔记) |
相关标签
大家喜欢
- pbootcms实现MySQL数据库配置的方法
- pbootcms建站中常用的组合调用代码集合
- pbootcms网站修改CSS样式后自动更新缓存,扩展标签实现自动增加版本号
- pbootcms程序运行异常: Modulo by zero,位置:/data/home/qxu1539590078/htdocs/co
- pbootcms提示执行SQL发生错误no such column: def1的解决方法
- pbootcms授权提示信息修改方法,pbootcms授权提示信息怎么改
- Pbootcms网站打开非常慢怎么办
- pbootcms栏目页调用当前栏目文章的方法
- PbootCms怎么取消自动提取缩略图
- pbootcms路径url被挂马了怎么办

