php 图片生成缩略图方法,php批量生成图片缩略图的方法 2022-11-12 09:55 145阅读 0赞 //用PHP批量生成图片缩略图 function mkdirs($dirname,$mode=0777) //创建目录(目录, [模式]) \{ if(!is\_dir($dirname)) \{ mkdirs($dirname,$mode); //如果目录不存在,递归建立 return mkdir($dirname,$mode); \} return true; \} function savefile($filename,$content='') //保存文件(文件, [内容]) \{ if(function\_exists(file\_put\_contents)) \{ file\_put\_contents($filename,$content); \} else \{ $fp=fopen($filename,"wb"); fwrite($fp,$content); fclose($fp); \} \} function getsuffix($filename) //获取文件名后缀 \{ return end(explode(".",$filename)); \} function checksuffix($filename,$arr) //是否为允许类型(当前, 允许) \{ if(!is\_array($arr)) \{ $arr=explode(",",str\_replace(" ","",$arr)); \} return in\_array($filename,$arr) ? 1 : 0; \} class image \{ var $src; //源地址 var $newsrc; //新图路径(本地化后) var $allowtype=array(".gif",".jpg",".png",".jpeg"); //允许的图片类型 var $regif=0; //是否缩略GIF, 为0不处理 var $keep=0; //是否保留源文件(1为保留, 0为MD5) var $over=0; //是否可以覆盖已存在的图片,为0则不可覆盖 var $dir; //图片源目录 var $newdir; //处理后的目录 function \_\_construct($olddir=null,$newdir=null) \{ $this->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 \{ $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 缩略图质量,高质量缩略图的生成函数(多种剪切模式_php /\\ \ 可扩展的缩略图生成函数 \ 在http://yodoo.com的论坛里可以获得最新版本(注册用户) http://www.gaodaima.com/44961 墨蓝/ 2023年01月17日 10:57/ 0 赞/ 41 阅读
相关 php 缩略图 不生成文件夹,手机照片不能生成缩略图问题以及解决方案 跳至//获取真实的图片类型 list($width, $height, $type, $attr) = getimagesize($this->sur\_file); sw 缺乏、安全感/ 2023年01月13日 05:59/ 0 赞/ 36 阅读
相关 php 图像生成缩略图 参考自 [https://blog.csdn.net/maoxinwen1/article/details/79202442][https_blog.csdn.net_maox 旧城等待,/ 2022年11月20日 09:49/ 0 赞/ 105 阅读
相关 php gif缩略图,php 给GIF 缩略图实例代码 try \{ /\\\ Read in the animated gif \\\/ $animation = new Imagick("animation.gif"); 忘是亡心i/ 2022年11月12日 13:54/ 0 赞/ 118 阅读
相关 php 图片生成缩略图方法,php批量生成图片缩略图的方法 //用PHP批量生成图片缩略图 function mkdirs($dirname,$mode=0777) //创建目录(目录, [模式]) \{ if(!is\_dir 分手后的思念是犯贱/ 2022年11月12日 09:55/ 0 赞/ 146 阅读
相关 php图片生成缩略图_PHP图片上传,并生成缩略图保存 HTML表单 上传: PHP接收处理upload.php // 文件及缩放尺寸 $imgfile = 'a.jpg';//这可以读取刚上传的文件 $percent = 绝地灬酷狼/ 2022年11月12日 04:27/ 0 赞/ 155 阅读
相关 组件缩略图名称、图片路径自动生成 先放上代码 var OrderNum = { init: function() { var oLi = $('.show_ 爱被打了一巴掌/ 2022年09月26日 15:50/ 0 赞/ 120 阅读
相关 java生成缩略图 java生成缩略图工具类 package cn.itcast.estore.utils; import java.awt.Image; im 今天药忘吃喽~/ 2022年06月05日 05:12/ 0 赞/ 196 阅读
相关 flask上传图片以及生成缩略图 flask在开发微信公众号或者小程序时会涉及到手机端上传图片以及生成缩略图的需求(注意,一般涉及到图文都是把图片和文字分开储存到两张表中,用外键作为连接) 第一步, 灰太狼/ 2022年05月11日 04:20/ 0 赞/ 234 阅读
相关 生成 图片的 缩略图 public static void main(String[] args) throws IOException { File input 阳光穿透心脏的1/2处/ 2022年04月22日 00:28/ 0 赞/ 198 阅读
还没有评论,来说两句吧...