php 上传图片如何压缩(PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例)
类别:编程学习 浏览量:2071
时间:2022-01-24 00:20:43 php 上传图片如何压缩
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例本文实例讲述了PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类。分享给大家供大家参考,具体如下:
|
class AutoImage{ private $image ; public function resize( $src , $width , $height ){ //$src 就是 $_FILES['upload_image_file']['tmp_name'] //$width和$height是指定的分辨率 //如果想按指定比例放缩,可以将$width和$height改为$src的指定比例 $this ->image = $src ; $info = getimagesize ( $src ); //获取图片的真实宽、高、类型 if ( $info [0] == $width && $info [1] == $height ){ //如果分辨率一样,直接返回原图 return $src ; } switch ( $info [ 'mime' ]){ case 'image/jpeg' : header( 'Content-Type:image/jpeg' ); $image_wp = imagecreatetruecolor( $width , $height ); $image_src = imagecreatefromjpeg( $src ); imagecopyresampled( $image_wp , $image_src , 0, 0, 0, 0, $width , $height , $info [0], $info [1]); imagedestroy( $image_src ); imagejpeg( $image_wp , $this ->image); break ; case 'image/png' : header( 'Content-Type:image/png' ); $image_wp = imagecreatetruecolor( $width , $height ); $image_src = imagecreatefrompng( $src ); imagecopyresampled( $image_wp , $image_src , 0, 0, 0, 0, $width , $height , $info [0], $info [1]); imagedestroy( $image_src ); imagejpeg( $image_wp , $this ->image); break ; case 'image/gif' : header( 'Content-Type:image/gif' ); $image_wp = imagecreatetruecolor( $width , $height ); $image_src = imagecreatefromgif( $src ); imagecopyresampled( $image_wp , $image_src , 0, 0, 0, 0, $width , $height , $info [0], $info [1]); imagedestroy( $image_src ); imagejpeg( $image_wp , $this ->image); break ; } return $this ->image; } } |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/ltx06/article/details/81627161
您可能感兴趣
- phpstudymysql启动又自动停止(Win下解决phpStudy MySQL启动失败)
- 在php中与数据库连接的技术(PHP7.0连接DB操作实例分析基于mysqli)
- thinkphp5配置入口路径(ThinkPHP5.1框架数据库链接和增删改查操作示例)
- php提交表单验证表(php实现的表单验证类完整示例)
- php开发技巧和方法(php+ajax实现商品对比功能示例)
- thinkphp中view视图的作用(Thinkphp5.0框架视图view的模板布局用法分析)
- php 设置sessionid生成机制(PHP Cli 模式设置进程名称的方法)
- php用什么解压(php解压缩zip和rar压缩包文件的方法)
- php 会话session实现用户登录功能(PHP cookie,session的使用与用户自动登录功能实现方法分析)
- php 上传临时文件扩展名(浅析PHP 中move_uploaded_file 上传中文文件名失败)
- php 与asp对比(asp.net和php的区别点总结)
- php的流程控制语句(PHP基于swoole多进程操作示例)
- php数组详解(php数组和链表的区别总结)
- phpcurl请求能在日志里记录吗(php使用curl模拟多线程实现批处理功能示例)
- 宝塔面板与php(宝塔面板如何安装PHP扩展)
- php框架使用方法大全(PHP MVC框架中类的自动加载机制实例分析)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
- 各地出招烘 热 旅游(各地出招烘热旅游)
- 2021款起亚霸锐到店了 更换车标,竞争宝马X5有戏吗(2021款起亚霸锐到店了)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
- ()
热门推荐
- textarea设置行距(做一个能自适应高度的textarea的示例代码)
- 宝塔面板7.8.0软件商店打不开(宝塔BT面板专业版付费和免费版有什么区别?)
- vmware虚拟linux无法配置ip(在VMware虚拟机中查看Linux的IP地址的方法)
- 阿里云ftp搭建(阿里云服务器搭建FTP服务器图文教程windows)
- vue项目做过哪些打包优化(Vue项目优化的一些实战策略)
- Visual Studio 自动添加头部注释
- python能操作微信定时发消息(python给微信好友定时推送消息的示例)
- vue滚动条下拉翻页(Vue中利用better-scroll组件实现横向滚动功能)
- mongodb备份和还原
- javascript 自带格式化时间(JavaScript内置日期、时间格式化时间实例代码)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9