您现在的位置是:首页 > 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首页调用公司简介等频道内容的方法
id=1 表示id为1的频道len=300 表示调用300个字符,自行调整
pbootcms邮件配置修改发件人信息的方法
我们只需要将【pbootCMS】附近的原定文字修改为自己想要的文字就行 需要注意的是,留言和自定义表单是分开的,所以如果留言和自定义表单都需要修改的话
pbootcms怎么获取结果页面的搜索keyword值和tag值
该标签可用于搜索列表页面 获取搜索关键词 的值时候使用,非常方便,可以搭配分页条的总数据行数属性({page:rows})达到如下图所示效果
pbootcms留言或自定义表单被提交大量无用信息的解决方法
在PBootCMS中,如果您的网站留言或自定义表单被提交大量无用信息,可以通过以下几种方法来解决这个问题:方法一:对输入格式进行验证编辑表单模板:打开您的表单模板文件,通常位于/
相关源码
-
pbootcms模板(自适应)花店鲜花花卉园艺网站源码一款基于PbootCMS内核开发的花店鲜花配送与花卉园艺企业网站模板。该模板采用响应式设计,自动适配手机、平板等移动设备,确保用户在任何设备上都能获得优质浏览体验。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码 -
(PC+WAP)红色户外岗亭钢结构岗亭pbootcms网站模板为钢结构岗亭、户外设施企业打造的高端响应式营销门户,基于PbootCMS开源内核深度开发,采用HTML5自适应架构,实现PC与移动端数据实时同步展示。查看源码 -
(自适应响应式)html5文章资讯新闻博客pbootcms网站模板下载本模板基于PbootCMS系统开发,为新闻资讯、博客类网站设计,特别适合各类文章内容的发布与管理。采用响应式技术,确保在不同设备上都能获得良好的阅读体验。查看源码 -
(自适应)蓝色英文外贸电子科技产品带三级栏目网站模板为外贸企业设计的英文网站模板,基于PbootCMS系统开发。突出多语言支持和国际化布局,三级栏目结构清晰展示产品分类,响应式设计确保更好客户在移动端和PC端获得一致的专业体验。查看源码 -
WordPress个人博客主题 - wp-Concise-v1.0免费下载wp-Concise-v1.0是一款专为个人博客设计的简约风格主题,采用全宽排版设计理念,注重内容呈现效果。该模板适用于个人随笔、技术分享、生活记录等博客场景,帮助用户打造专业的内容展示空间。查看源码
| 分享笔记 (共有 篇笔记) |
