您现在的位置是:首页 > 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从本地搬家到云虚拟主机的方法
将PbootCMS从本地环境搬迁到阿里云虚拟主机的过程中,可以遵循以下步骤:1. 解析绑定域名如果你的域名是在阿里云注册的,可以直接在阿里云控制台上进行域名解析和绑定操作。具
PbootCMS去除UEditor编辑器图片自动添加的title和alt属性的方法
在PbootCMS中,UEditor编辑器在上传图片时会自动添加title和alt属性,这些属性的值通常是图片的文件名,这在SEO和用户体验方面可能并不理想。为了优化这一点
PbootCMS修改域名授权提示信息的方法
PbootCMS上传到服务器后用域名访问,如果没有到官网获取域名授权码会提示未授权的相关提示信息,但是有时候我们是给客户使用,并不想客户看到此信息,那么怎么办呢?
PbootCMS单页内容的调用方法
单页简单来说就是一个栏目等于一篇文章,一般用于企业站的公司简介、联系我们等。要调用单页内容,首先要创建单页。
相关源码
-
(自适应)简繁双语响应式服装服饰西装工装校服定制pbootcms模板本模板基于PbootCMS内核开发,为服装服饰行业量身打造,尤其适合西装定制、工装生产、校服订制等服装类企业使用。模板采用响应式布局设计,确保在手机、平板、电脑查看源码 -
(自适应)英文外贸电子设备网站模板三级子目录基于PbootCMS内核开发的响应式英文网站模板,为外贸企业打造,支持多行业快速适配。通过简洁高效的代码架构,帮助企业低成本构建专业海外形象,实现更好客户触达与订单转化。查看源码 -
(自适应html5)自媒体运营培训教程个人博客pbootcms模板本模板基于PbootCMS系统开发,特别适合自媒体运营培训、知识付费类网站使用。采用响应式设计,能够适配各类终端设备,为内容创作者提供专业的内容展示平台。查看源码 -
(自适应响应式)水墨风白酒酿制酒业酒文化酒类产品网站源码下载本模板基于PbootCMS内核开发,为酒类企业打造的水墨风响应式网站解决方案。采用传统东方美学设计语言,呈现白酒文化底蕴,自适应移动端展示效果,数据实时同步更新,助力酒企建立专业数字化形象。查看源码 -
(自适应)科技产品设备技术作品pbootcms网站模板带下载和招聘基于PbootCMS内核开发的高端科技企业模板,采用响应式布局技术,适配各类移动终端设备。模板设计聚焦科技行业特性,通过模块化结构实现企业形象展示、技术成果发布与人才招募等核心需求查看源码 -
帝国CMS中小学生知识点试题练习题考试源码下载基于帝国CMS后台管理系统,支持在线修改联系信息、网站参数等配置,操作流程简洁明了。专注于中小学教育领域,集成知识点总结、试题练习、考试资讯等学习资源,为师生提供全面的在线学习支持与服务。查看源码
| 分享笔记 (共有 篇笔记) |

