千家信息网

PHP如何批量生成图片缩略图

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍PHP如何批量生成图片缩略图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:
千家信息网最后更新 2026年11月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安全错误 数据库的锁怎样保障安全 互联网科技工作委员会主任 互联网科技工作委员会副主任毛军 互联网核心科技是什么 金融科技 互联网金融 互联网科技公司电话 紫鲸互联网科技 互联网科技网站 国外互联网科技网站 中国互联网金融科技基金 互联网科技股午盘股票涨跌 科技赋能互联网健康 广州慧亚互联网科技怎么样 互联网5g黑科技有哪些 深圳育鹏互联网科技有限公司招聘 北京市互联网新科技 上海互联网科技公司ppt 东营紫格互联网科技 互联网企业和网络科技有限公司 利用互联网等科技手段 武汉亿视互联网科技有限公司 江苏根荣互联网科技 互联网科技战争 济南和联互联网科技有限公司 银川新华互联网科技职业技术培训学校图片 互联网科技年终奖 本届互联网大会上的黑科技 扫呗互联网科技有限公司 北京天晋互联网科技有限公司 杭州融税互联网科技有限公司 长沙易易互联网科技有限公司
0