PHP如何批量生成图片缩略图
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍PHP如何批量生成图片缩略图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:
千家信息网最后更新 2025年02月04日PHP如何批量生成图片缩略图
这篇文章主要介绍PHP如何批量生成图片缩略图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体如下:
dir=$olddir ? $olddir : "./images/temp"; $this->newdir=$newdir ? $newdir : "./images/s"; } function reNames($src) { $md5file=substr(md5($src),10,10).strrchr($src,"."); //MD5文件名后(例如:3293okoe.gif) $md5file=$this->w."_".$this->h."_".$md5file; //处理后文件名 return $this->newdir."/".$md5file; //将源图片,MD5文件名后保存到新的目录里 } function Mini($src,$w,$h,$q=80) //生成缩略图 Mini(图片地址, 宽度, 高度, 质量) { $this->src=$src; $this->w=$w; $this->h=$h; if(strrchr($src,".")==".gif" && $this->regif==0) //是否处理GIF图 { return $this->src; } if($this->keep==0) //是否保留源文件,默认不保留 { $newsrc=$this->reNames($src); //改名后的文件地址 } else //保持原名 { $src=str_replace("\\","/",$src); $newsrc=$this->newdir.strrchr($src,"/"); } if(file_exists($newsrc) && $this->over==0) //如果已存在,直接返回地址 { return $newsrc; } if(strstr($src,"http://") && !strstr($src,$_SERVER['HTTP_HOST'])) //如果是网络文件,先保存 { $src=$this->getimg($src); } $arr=getimagesize($src); //获取图片属性 $width=$arr[0]; $height=$arr[1]; $type=$arr[2]; switch($type) { case 1: //1 = GIF, $im=imagecreatefromgif($src); break; case 2: //2 = JPG $im=imagecreatefromjpeg($src); break; case 3: //3 = PNG $im=imagecreatefrompng($src); break; default: return 0; } //处理缩略图 $nim=imagecreatetruecolor($w,$h); $k1=round($h/$w,2); $k2=round($height/$width,2); if($k1<$k2) { $width_a=$width; $height_a=round($width*$k1); $sw=0; $sh=($height-$height_a)/2; } else { $width_a=$height/$k1; $height_a=$height; $sw=($width-$width_a)/2; $sh = 0; } //生成图片 if(function_exists(imagecopyresampled)) { imagecopyresampled($nim,$im,0,0,$sw,$sh,$w,$h,$width_a,$height_a); } else { imagecopyresized($nim,$im,0,0,$sw,$sh,$w,$h,$width_a,$height_a); } if(!is_dir($this->newdir)) { mkdir($this->newdir); } switch($type) //保存图片 { case 1: $rs=imagegif($nim,$newsrc); break; case 2: $rs=imagejpeg($nim,$newsrc,$q); break; case 3: $rs=imagepng($nim,$newsrc); break; default: return 0; } return $newsrc; //返回处理后路径 } function getimg($filename) { $md5file=$this->dir."/".substr(md5($filename),10,10).strrchr($filename,"."); if(file_exists($md5file)) { return $md5file; } //开始获取文件,并返回新路径 $img=file_get_contents($filename); if($img) { if(!is_dir($this->dir)) { mkdir($this->dir); } savefile($md5file,$img); return $md5file; } } function reImg($src,$w,$h,$q) //转换缩略图(文件名和结构不变) { $this->keep=1; return $this->Mini($src,$w,$h,$q); //return 生成的地址 } } $image=new image(); echo $image->reImg("images/zht.jpg",75,75,80); echo "
"; echo $image->reImg("images/m8920.jpg",75,75,80); echo "
"; echo $image->getimg("./images/s/zht.jpg");?>
以上是"PHP如何批量生成图片缩略图"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
文件
图片
生成
地址
文件名
处理
内容
篇文章
路径
价值
兴趣
原名
宽度
小伙
小伙伴
属性
更多
源文件
目录
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
oracle的数据库链接
国际网络安全卓越中心
软件开发人员派遣价格
菏泽网络安全吗
数据库的三个存储引擎
服务器管理口ip忘了
触发器指定时间插入数据库
网络技术包括什么
万律法律数据库四川大学
临河云计算网络安全培训学校
软件开发中常说的DEV
泰州java软件开发系统
钱袋网络技术有限公司电话
数据库软件开发平台.7z
大学sql数据库教材
国 网络技术有
online3数据库
vivo软件开发工程师
银行的数据库是什么类型
数据库汽车
学软件开发技术很难吗
城乡一体化空间数据库建设
防网络安全
网页游戏老是卡在连接服务器
信息与网络安全课程报告
shp合并一个gdb数据库
长春通用网络技术服务参考价格
苏州it网络安全
服务器cpu推荐
民营企业软件开发