亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP批量生成圖片縮略圖的方法

2024-05-04 23:36:29
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了PHP批量生成圖片縮略圖的方法,涉及php針對圖片屬性操作的相關技巧,需要的朋友可以參考下

本文實例講述了PHP批量生成圖片縮略圖的方法。分享給大家供大家參考。具體如下:

 

 
  1. <?php 
  2. //用PHP批量生成圖片縮略圖 
  3. function mkdirs($dirname,$mode=0777) 
  4. //創建目錄(目錄, [模式]) 
  5. if(!is_dir($dirname)) 
  6. mkdirs($dirname,$mode); //如果目錄不存在,遞歸建立 
  7. return mkdir($dirname,$mode); 
  8. return true; 
  9. function savefile($filename,$content=''
  10. //保存文件(文件, [內容]) 
  11. if(function_exists(file_put_contents)) 
  12. file_put_contents($filename,$content); 
  13. else 
  14. $fp=fopen($filename,"wb"); 
  15. fwrite($fp,$content); 
  16. fclose($fp); 
  17. function getsuffix($filename//獲取文件名后綴 
  18. return end(explode(".",$filename)); 
  19. function checksuffix($filename,$arr//是否為允許類型(當前, 允許) 
  20. if(!is_array($arr)) 
  21. $arr=explode(",",str_replace(" ","",$arr)); 
  22. return in_array($filename,$arr) ? 1 : 0; 
  23. class image 
  24. var $src//源地址 
  25. var $newsrc//新圖路徑(本地化后) 
  26. var $allowtype=array(".gif",".jpg",".png",".jpeg"); //允許的圖片類型 
  27. var $regif=0; //是否縮略GIF, 為0不處理 
  28. var $keep=0; //是否保留源文件(1為保留, 0為MD5) 
  29. var $over=0; //是否可以覆蓋已存在的圖片,為0則不可覆蓋 
  30. var $dir//圖片源目錄 
  31. var $newdir//處理后的目錄 
  32. function __construct($olddir=null,$newdir=null) 
  33. $this->dir=$olddir ? $olddir : "./images/temp"
  34. $this->newdir=$newdir ? $newdir : "./images/s"
  35. function reNames($src
  36. $md5file=substr(md5($src),10,10).strrchr($src,"."); 
  37. //MD5文件名后(例如:3293okoe.gif) 
  38. $md5file=$this->w."_".$this->h."_".$md5file
  39. //處理后文件名 
  40. return $this->newdir."/".$md5file
  41. //將源圖片,MD5文件名后保存到新的目錄里 
  42. function Mini($src,$w,$h,$q=80) 
  43. //生成縮略圖 Mini(圖片地址, 寬度, 高度, 質量) 
  44. $this->src=$src
  45. $this->w=$w
  46. $this->h=$h
  47. if(strrchr($src,".")==".gif" && $this->regif==0) 
  48. //是否處理GIF圖 
  49. return $this->src; 
  50. if($this->keep==0) //是否保留源文件,默認不保留 
  51. $newsrc=$this->reNames($src); //改名后的文件地址 
  52. else //保持原名 
  53. $src=str_replace("//","/",$src); 
  54. $newsrc=$this->newdir.strrchr($src,"/"); 
  55. if(file_exists($newsrc) && $this->over==0) 
  56. //如果已存在,直接返回地址 
  57. return $newsrc
  58. if(strstr($src,"http://") && !strstr($src,$_SERVER['HTTP_HOST'])) 
  59. //如果是網絡文件,先保存 
  60. $src=$this->getimg($src); 
  61. $arr=getimagesize($src); //獲取圖片屬性 
  62. $width=$arr[0]; 
  63. $height=$arr[1]; 
  64. $type=$arr[2]; 
  65. switch($type
  66. case 1: //1 = GIF, 
  67. $im=imagecreatefromgif($src); 
  68. break
  69. case 2: //2 = JPG 
  70. $im=imagecreatefromjpeg($src); 
  71. break
  72. case 3: //3 = PNG 
  73. $im=imagecreatefrompng($src); 
  74. break
  75. default
  76. return 0; 
  77. //處理縮略圖 
  78. $nim=imagecreatetruecolor($w,$h); 
  79. $k1=round($h/$w,2); 
  80. $k2=round($height/$width,2); 
  81. if($k1<$k2
  82. $width_a=$width
  83. $height_a=round($width*$k1); 
  84. $sw=0; 
  85. $sh=($height-$height_a)/2; 
  86. else 
  87. $width_a=$height/$k1
  88. $height_a=$height
  89. $sw=($width-$width_a)/2; 
  90. $sh = 0; 
  91. //生成圖片 
  92. if(function_exists(imagecopyresampled)) 
  93. imagecopyresampled($nim,$im,0,0,$sw,$sh,$w,$h,$width_a,$height_a); 
  94. else 
  95. imagecopyresized($nim,$im,0,0,$sw,$sh,$w,$h,$width_a,$height_a); 
  96. if(!is_dir($this->newdir)) 
  97. mkdir($this->newdir); 
  98. switch($type//保存圖片 
  99. case 1: 
  100. $rs=imagegif($nim,$newsrc); 
  101. break
  102. case 2: 
  103. $rs=imagejpeg($nim,$newsrc,$q); 
  104. break
  105. case 3: 
  106. $rs=imagepng($nim,$newsrc); 
  107. break
  108. default
  109. return 0; 
  110. return $newsrc//返回處理后路徑 
  111. function getimg($filename
  112. $md5file=$this->dir."/".substr(md5($filename),10,10).strrchr($filename,"."); 
  113. if(file_exists($md5file)) 
  114. return $md5file
  115. //開始獲取文件,并返回新路徑 
  116. $img=file_get_contents($filename); 
  117. if($img
  118. if(!is_dir($this->dir)) 
  119. mkdir($this->dir); 
  120. savefile($md5file,$img); 
  121. return $md5file
  122. function reImg($src,$w,$h,$q
  123. //轉換縮略圖(文件名和結構不變) 
  124. $this->keep=1; 
  125. return $this->Mini($src,$w,$h,$q); 
  126. //return 生成的地址 
  127. $image=new image(); 
  128. echo $image->reImg("images/zht.jpg",75,75,80); 
  129. echo "<br/>"
  130. echo $image->reImg("images/m8920.jpg",75,75,80); 
  131. echo "<br/>"
  132. echo $image->getimg("./images/s/zht.jpg"); 
  133. ?> 

希望本文所述對大家的php程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品美女久久久久久免费| 亚洲精品国产美女| 奇米4444一区二区三区| 亚洲一区中文字幕在线观看| 色婷婷av一区二区三区在线观看| 欧美精品videos| 欧美孕妇与黑人孕交| 欧美一级片在线播放| 欧美一区二区三区……| 国产一区二区香蕉| 深夜福利日韩在线看| 亚洲国产成人爱av在线播放| 国产原创欧美精品| 91chinesevideo永久地址| 久久久久久久久电影| 国产精品成人av性教育| 精品国产老师黑色丝袜高跟鞋| 欧美怡红院视频一区二区三区| 日韩欧美成人网| 疯狂做受xxxx欧美肥白少妇| 亚洲精品国精品久久99热一| 欧美日韩国产999| 国产精品v日韩精品| 97超碰蝌蚪网人人做人人爽| 色综久久综合桃花网| 亚洲精品成人久久电影| 久久久久在线观看| 久久精品国产亚洲精品2020| 日韩av在线网站| 欧美亚洲国产视频小说| 国产精品久久久久999| 欧美日韩成人在线视频| 亚洲国产第一页| 午夜精品久久久久久久久久久久| 亚洲欧洲一区二区三区久久| www.久久撸.com| 久久99热精品这里久久精品| 亚洲美女av在线| 91免费精品视频| 日本亚洲欧洲色α| 欧美国产日韩中文字幕在线| 久久久久久久久中文字幕| 亚洲女人天堂视频| 国产精品久久久999| 久久成人av网站| 欧美日韩中文字幕综合视频| 777国产偷窥盗摄精品视频| 中文字幕日韩欧美精品在线观看| 欧美黄色片免费观看| 日韩中文字幕在线视频播放| 欧美成人高清视频| 久久久精品电影| 午夜精品国产精品大乳美女| 久热精品视频在线观看一区| 国产精品高潮粉嫩av| 欧美日本黄视频| 欧美亚洲另类制服自拍| 国产亚洲人成a一在线v站| 国产欧美精品久久久| 色综合天天综合网国产成人网| 91精品久久久久久综合乱菊| 中文字幕在线看视频国产欧美| 午夜精品国产精品大乳美女| 国产精品旅馆在线| 综合网中文字幕| 亚洲毛茸茸少妇高潮呻吟| 亚洲免费人成在线视频观看| 国产高清视频一区三区| 日韩久久免费视频| 亚洲美女视频网站| 欧美电影第一页| 亚洲精品乱码久久久久久按摩观| 国产精品久久久久久久7电影| 欧美亚洲视频在线看网址| 在线国产精品播放| 精品欧美激情精品一区| 亚洲天堂av女优| 国产香蕉97碰碰久久人人| 2019中文字幕在线免费观看| 欧美黑人极品猛少妇色xxxxx| 日韩在线欧美在线国产在线| 成人国产在线视频| 亚洲天堂av在线免费观看| 日本韩国在线不卡| 亚洲国产高清福利视频| 欧美日韩一区二区精品| 国产精品69久久| 国产视频精品va久久久久久| 成人美女免费网站视频| 色偷偷91综合久久噜噜| 91国产视频在线播放| 欧美高清视频一区二区| 日韩av中文字幕在线| 伊人久久大香线蕉av一区二区| 欧美日韩国产91| 久久久久久久久久久国产| 国产精品第1页| 亚洲自拍小视频免费观看| 韩国国内大量揄拍精品视频| 国色天香2019中文字幕在线观看| 精品国产区一区二区三区在线观看| 狠狠色狠狠色综合日日小说| 日韩欧美中文字幕在线观看| 亚洲欧美国产日韩天堂区| 欧美高清自拍一区| 欧美影院成年免费版| 亚洲无亚洲人成网站77777| 插插插亚洲综合网| 国内揄拍国内精品少妇国语| 欧美精品videosex极品1| 日韩免费视频在线观看| 欧美人交a欧美精品| 欧美主播福利视频| 国产精品久久久久久久久久久久| 亚洲护士老师的毛茸茸最新章节| 欧美大荫蒂xxx| 欧美精品一区二区三区国产精品| 欧洲成人免费视频| 日韩黄色av网站| 亚洲最大在线视频| 国内精品久久久久久久久| 欧美精品18videosex性欧美| 国产一区二区三区18| 不卡中文字幕av| 成人黄色在线播放| 中文字幕亚洲天堂| 亚洲最新视频在线| 欧美激情中文字幕乱码免费| 国产精品自拍偷拍| 91精品视频一区| 久久免费视频网站| 欧美午夜精品久久久久久久| 国产精品27p| 91av国产在线| 97国产成人精品视频| 欧美日韩一区二区精品| 亚洲自拍偷拍在线| 欧美激情va永久在线播放| 欧美日韩亚洲91| 亚洲最大福利视频网站| 日韩欧美在线视频日韩欧美在线视频| 久久天堂电影网| 欧美高清在线视频观看不卡| 精品人伦一区二区三区蜜桃免费| 欧美久久精品一级黑人c片| 美日韩丰满少妇在线观看| 亚洲aⅴ男人的天堂在线观看| 在线视频日本亚洲性| 久久99国产精品久久久久久久久| 亚洲成人久久一区| 久久精品视频中文字幕| 久久久国产91| 91精品免费视频| 中文日韩在线观看| 久久精品国产亚洲| 成人国产精品久久久久久亚洲| 亚洲国产高潮在线观看| 亚洲天堂av电影| 中文字幕九色91在线| 亚洲欧美日韩网| 97涩涩爰在线观看亚洲| 国产一区二区三区在线看| 久久免费视频网站| 日韩久久午夜影院|