快捷搜索:

PHP批量生成图片缩略图,完美的批量变化缩略图

作者: w88官方网站手机版  发布:2019-09-30

php 批量生成缩略图代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <TITLE>生成缩略图</TITLE>
</HEAD>
 <BODY>
<?php
$c = array('dir'=>'./images','newdir'=>'./thumb','w'=>'200','h'=>'200');
//只处理文件名中含有small的文件,如果处理所有文件,请设置为 '.'
$only = '.';

这款教程会用到php文件
view.php
config.php
funs.php
index.php

//创建目录(目录, [模式])
function mkdirs($l1, $l2 = 0777){
if(!is_dir($l1)){
  //如果目录不存在,递归建立
  mkdirs(dirname($l1), $l2); 
  return @mkdir($l1, $l2);
}
return true;
}
//保存文件(文件, [内容])
function savefile($l1, $l2=''){ 
if(function_exists(file_put_contents)){
  file_put_contents($l1, $l2);
} else{
  $fp = @fopen($l1, 'wb');
  @fwrite($fp, $l2);
  fclose($fp);
}
}
//获取文件后缀(文件)
function getfix($l1){
return end(explode('.', $l1));
}
//是否为允许类型(当前, 允许)
function checkfix($l1, $l2){
if(!is_array($l2)){
  $l2 = explode(',', str_replace(' ', '', $l2));
}
return in_array($l1, $l2) ? 1 : 0;
}
class image{
//源地址
var $src; 
//新图路径(本地化后)
var $newsrc;
 
//允许的图类型
var $allowtype = array('.jpg','.gif','.png','.jpeg'); 
//是否缩略GIF, 为0不处理
var $regif   = 0;
//是否保留源文件(1为保留, 0为MD5)
var $keep = 0;
//是否可以覆盖已存在的图片,为0则不可覆盖
var $over = 0;
  
//图片源目录
var $dir;
//处理后的目录
var $newdir;

//如果不希望覆盖已经存在的图片 将此行设为0;
$over = 1;

功能:

1.为文件夹里的图片生成指定大小缩略图
2.列出子文件夹, 可以指定生生某文件夹生成
3.为方便不同大小的缩图生成,图片保存到新的目录,而目录结构不变

function __construct($l1=null, $l2=null){
  $this->dir   = $l1 ? $l1 : "./images/temp";
  $this->newdir = $l2 ? $l2 : "./images/s";
}

//是否处理GIF图,0为不处理
$regif = 1;

实现:

1.图片原文件夹   $image
2.处理后保存在   $newimage
 保持目录结构和文件名不变(方便调用)
3.如果在新的文件夹里图片已经存在,直接跳过

function image($l1=null, $l2=null){
  $this->__construct($l1, $l2);
}

 

操作界面:

1.$image 输入框
2.$newimage 输入框(若没填写,刚为当前目录平级的以缩略大小为文件名的目录)
3.按扭"搜索",列出所有文件夹,生成缓存,写到文件.
4.生成.     生成子目录

*/
?>
//index.php代码

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=gb2312">
  <title>生成缩略图</title>
</head>
 <body>
<?php
/* -------------------------------------------------------------
 * | copyright (c) 2008-2009 yese.in all rights reserved.       
 * -------------------------------------------------------------
 * | author: wbsifan <wbsifan@163.com>   <qq:29500196>          
 * -------------------------------------------------------------  
 * | filename : index.php v0.1
 * | update   : 2008-07-01
 * | content  : 生成缩略图 
 * -------------------------------------------------------------
 */

 

 
//只处理文件名中含有small的文件,如果处理所有文件,请设置为 '.'
$only = '.';

 

//如果不希望覆盖已经存在的图片 将此行设为0;
$over = 1;

//是否处理gif图,0为不处理
$regif = 1;

$c = require('config.php');
require('funs.php');
if($_get['do']=='start'){
 $file = array();
 $dir = $_post['dir'];
 $newdir = $_post['newdir'];
 $w = intval($_post['w']);
 $h = intval($_post['h']);
 $d = @dir($dir) or die('目录不存在!'); 
 $config = "<?php return array('dir'=>'".$dir."','newdir'=>'".$newdir."','w'=>'".$w."','h'=>'".$h."'); ?>";
 savefile("config.php", $config); 
 while ($a=$d->read()){
  $type = substr(strrchr($a,"."),1);
  if($a!=='.' && $a!=='..'){
   if(is_dir($dir.'/'.$a)){
    $zdir[]=$a;
   } elseif($type=='jpg' || $type=='gif' || $type=='bmp' || $type=='png') {
    if(strstr($a, $only)){
     $file[]=$dir.'/'.$a;
    }
   }   
  }
 }
 $rand = rand(100,999);
 $img = new image($dir, $newdir);
 $img->over = $over;
 $img->regif= $regif;
 echo "<div style='width:800px'>";
 foreach ($file as $key){
  $src = $img->reimg($key, $w, $h);
  echo "<div style='float:left;border:#666666 1px dotted; width:$w px; height:$h px; padding: 5px; margin:5px;'><img src=$src?$rand></div>";
 }
 echo "</div>";
 die("<br><br><label> <input name="go" type="button" id="go" onclick="location='index.php'" value=" 继 续 处 理 新 的 图 片 "></label><br><br>");
}
?>
 <div style="clear:both; width:250px; height:110px; border:#006633 1px dashed; padding:5px; font-size:12px; color:#009933">
 <form name="form1" method="post" action="?do=start">
   <label>源目录:
   <input name="dir" type="text" id="dir" value="<?=$c['dir']?>">
</label>
<br><br>
<label>保存到:
<input name="newdir" type="text" id="newdir" value="<?=$c['newdir']?>">
</label>
<br><br>
<label>宽  高:
<input name="w" type="text" id="w" value="<?=$c['w']?>" size="7" maxlength="3">
x
<input name="h" type="text" id="h" value="<?=$c['h']?>" size="7" maxlength="3">
</label>
  <br>
  <br>  
   <label>  
   <input type="submit" name="search" id="search" value="生 成">
   </label>  
 </form>
 
</div>
©2008 <a href=" target=_blank>wbsifan</a></body>
</html>

 

<?
//funs.php代码

 

//创建目录(目录, [模式])
function mkdirs($l1, $l2 = 0777){
 if(!is_dir($l1)){
  //如果目录不存在,递归建立
  mkdirs(dirname($l1), $l2);  
  return @mkdir($l1, $l2);
 }
 return true;
}

//保存文件(文件, [内容])
function savefile($l1, $l2=''){  
 if(function_exists(file_put_contents)){
  file_put_contents($l1, $l2);
 } else{
  $fp = @fopen($l1, 'wb');
  @fwrite($fp, $l2);
  fclose($fp);
 }
}

//获取文件后缀(文件)
function getfix($l1){
 return end(explode('.', $l1));
}

//是否为允许类型(当前, 允许)
function checkfix($l1, $l2){
 if(!is_array($l2)){
  $l2 = explode(',', str_replace(' ', '', $l2));
 }
 return in_array($l1, $l2) ? 1 : 0;
}

class image{
 //源地址
 var $src;  
 //新图路径(本地化后)
 var $newsrc;
  
 //允许的图类型
 var $allowtype = array('.jpg','.gif','.png','.jpeg');  
 //是否缩略gif, 为0不处理
 var $regif   = 0;
 //是否保留源文件(1为保留, 0为md5)
 var $keep = 0;
 //是否可以覆盖已存在的图片,为0则不可覆盖
 var $over = 0;
   
 //图片源目录 
 var $dir; 
 //处理后的目录 
 var $newdir; 

 function __construct($l1=null, $l2=null){
  $this->dir   = $l1 ? $l1 : "./images/temp";
  $this->newdir = $l2 ? $l2 : "./images/s";
 }
 
 function image($l1=null, $l2=null){
  $this->__construct($l1, $l2);
 }
 
 /**
  * 处理后的文件路径
  * 将源图片,md5文件名后保存到新的目录里
  *
  * @ param  rename()
  * @ return 处理后的文件名
  */
 function rename($src){
  //md5后文件名(例如:3293okoe.gif)
  $l1 = substr(md5($src),10,10).strrchr($src,"."); 
  //处理后文件名
  $l1  = $this->w.'_'.$this->h.'_'.$l1; 
  //返回处理后的地址
  return $this->newdir.'/'.$l1;
 }  

 

  
 /**
  * 生成缩略图
  *
  * @ param  mini(图片地址, 宽度, 高度, 质量)
  *   如果要保留原来的文件名,请设置 $o->keep = 1;
  * @ return 处理后的图片地址
  */
 function mini($src,$w,$h, $q=80){ 
  $this->src = $src;
  $this->w = $w;
  $this->h = $h;
  
  //是否处理gif图
  if(strrchr($src, ".") == ".gif" && $this->regif == 0){
   return $this->src;
  } 
  
  //是否保留原文件名,默认不保留
  if(!$this->keep){
   //改名后的文件地址
   $newsrc = $this->rename($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);  
  $ow = $arr[0];
  $oh = $arr[1];
  $ot = $arr[2];  
  switch($ot){
   case 1:
    $im = imagecreatefromgif($src);
    break;
   case 2:
    $im = imagecreatefromjpeg($src);
    break;
   case 3:
    $im = imagecreatefrompng($src);
    break;
   default:
    return 0;
  }
  //处理缩略图
  $nim = imagecreatetruecolor($w,$h);
  $k1 = round($h/$w,2);
  $k2 = round($oh/$ow,2);
  if ($k1<$k2){
   $oow = $ow;
   $ooh = round($ow*$k1);
   $sw = 0;
   $sh = ($oh-$ooh)/2;
  }
  else {
   $oow = $oh/$k1;
   $ooh = $oh;
   $sw = ($ow-$oow)/2;
   $sh = 0;
  }
  //生成图片
  if(function_exists(imagecopyresampled)){
   imagecopyresampled($nim,$im,0,0,$sw,$sh,$w,$h,$oow,$ooh);   
  }
  else {
   imagecopyresized($nim,$im,0,0,$sw,$sh,$w,$h,$oow,$ooh);
  }
  //处理后的目录是否存在
  if(!is_dir($this->newdir)){
   @mkdir($this->newdir);
  } 
  //保存图片    
  switch($ot){
   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;    
 }    

 

 /**
  * 保存网络图片
  *
  * @ param  getimg(源图)
  * @ return 保存后的本地址址(本地目录的md5文件名)
  */
 function getimg($l1){
  $l2 = $this->dir.'/'.substr(md5($l1),10,10).strrchr($l1,".");
  //文件存在,直接返回地址
  if(file_exists($l2)){   
   //echo "exits...";
   return $l2;
  }
  
  //开始获取文件,并返回新路径 
  $img = file_get_contents($l1);     
  if($img){
   if(!is_dir($this->dir)){
    @mkdir($this->dir);
   } 
   savefile($l2, $img);
   //echo "file_get..";
   return $l2;
  }    
 }
 
 /**
  * 转换缩略图(文件名和结构不变)
  *
  * @ param  mini(源地址, 宽度, 高度, 质量 )
  * @ return 生成的地址
  */
 
 function reimg($src, $w, $h, $q=80){
  $this->keep = 1;
  return $this->mini($src, $w, $h, $q);
 } 
}

 

//config.php代码

return array('dir'=>'./images','newdir'=>'./thumb','w'=>'200','h'=>'200');

//view.php代码

?>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=gb2312">
  <title>生成缩略图</title>
</head>
 <body>
 <div style="clear:both; width:250px; height:110px; border:#006633 1px dashed; padding:5px; font-size:12px; color:#009933">
 <form name="form1" method="post" action="?do=start">
   <label>源目录:
   <input name="dir" type="text" id="dir" value="<?=$c['dir']?>">
</label>
<br><br>
<label>保存到:
<input name="newdir" type="text" id="newdir" value="<?=$c['newdir']?>">
</label>
<br><br>
<label>宽  高:
<input name="w" type="text" id="w" value="<?=$c['w']?>" size="7" maxlength="3">
x
<input name="h" type="text" id="h" value="<?=$c['h']?>" size="7" maxlength="3">
</label>
  <br>
  <br>  
   <label>  
   <input type="submit" name="search" id="search" value="生 成">
   </label>  
 </form>
 
</div>
©2008 <a href="" target=_blank>php教程</a></body>
</html>

/**
  * 处理后的文件路径
  * 将源图片,MD5文件名后保存到新的目录里
  *
  * @ param  rename()
  * @ return 处理后的文件名
  */
function reName($src){
  //MD5后文件名(例如:3293okoe.gif)
  $l1 = substr(md5($src),10,10).strrchr($src,".");
  //处理后文件名
  $l1  = $this->w.'_'.$this->h.'_'.$l1;
  //返回处理后的地址
  return $this->newdir.'/'.$l1;
}

if($_GET['do']=='start'){
 $file = array();
 $dir = $_POST['dir'];
 $newdir = $_POST['newdir'];
 $w = intval($_POST['w']);
 $h = intval($_POST['h']);
 $d = @dir($dir) or die('目录不存在!'); 
 $config = "<?php return array('dir'=>'".$dir."','newdir'=>'".$newdir."','w'=>'".$w."','h'=>'".$h."'); ?>";
 savefile($c, $config); 
 while ($a=$d->read()){
  $type = substr(strrchr($a,"."),1);
  if($a!=='.' && $a!=='..'){
   if(is_dir($dir.'/'.$a)){
    $zdir[]=$a;
   } elseif($type=='jpg' || $type=='gif' || $type=='bmp' || $type=='png') {
    if(strstr($a, $only)){
     $file[]=$dir.'/'.$a;
    }
   }   
  }
 }
 $rand = rand(100,999);
 $img = new image($dir, $newdir);
 $img->over = $over;
 $img->regif= $regif;
 echo "<div style='width:800px'>";
 foreach ($file as $key){
  $src = $img->reImg($key, $w, $h);
  echo "<div style='float:left;border:#666666 1px dotted; width:$w px; height:$h px; padding: 5px; margin:5px;'><img src=$src?$rand></div>";
 }
 echo "</div>";
 die("<br><br><label> <input name="go" type="button" id="go" onClick="location='index.php'" value=" www.111cn.net继 续 处 理 新 的 图 片 "></label><br><br>");
}
?>
 <div style="clear:both; width:250px; height:110px; border:#006633 1px dashed; padding:5px; font-size:12px; color:#009933">
 <form name="form1" method="post" action="?do=start">
   <label>源目录:
   <input name="dir" type="text" id="dir" value="<?=$c['dir']?>">
</label>
<br><br>
<label>保存到:
<input name="newdir" type="text" id="newdir" value="<?=$c['newdir']?>">
</label>
<br><br>
<label>宽  高:
<input name="w" type="text" id="w" value="<?=$c['w']?>" size="7" maxlength="3">
X
<input name="h" type="text" id="h" value="<?=$c['h']?>" size="7" maxlength="3">
</label>
  <br>
  <br>  
   <label>  
   <input type="submit" name="search" id="search" value="生 成">
   </label>  
 </form>
 
</div>
©2008 <a href="" target=_blank>wbsifan</a>
</BODY>
</HTML>
<?
<?php
//创建目录(目录, [模式])
function mkdirs($l1, $l2 = 0777){
 if(!is_dir($l1)){
  //如果目录不存在,递归建立
  mkdirs(dirname($l1), $l2);  
  return @mkdir($l1, $l2);
 }
 return true;
}

 
/**
  * 生成缩略图
  *
  * @ param  Mini(图片地址, 宽度, 高度, 质量)
  *   如果要保留原来的文件名,请设置 $o->keep = 1;
  * @ return 处理后的图片地址
  */
function Mini($src,$w,$h, $q=80){
  $this->src = $src;
  $this->w = $w;
  $this->h = $h;
 
  //是否处理GIF图
  if(strrchr($src, ".") == ".gif" && $this->regif == 0){
   return $this->src;
  }
 
  //是否保留原文件名,默认不保留
  if(!$this->keep){
   //改名后的文件地址
   $newsrc = $this->reName($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); 
  $ow = $arr[0];
  $oh = $arr[1];
  $ot = $arr[2]; 
  switch($ot){
   case 1:
    $im = imagecreatefromgif($src);
    break;
   case 2:
    $im = imagecreatefromjpeg($src);
    break;
   case 3:
    $im = imagecreatefrompng($src);
    break;
   default:
    return 0;
  }
  //处理缩略图
  $nim = imagecreatetruecolor($w,$h);
  $k1 = round($h/$w,2);
  $k2 = round($oh/$ow,2);
  if ($k1<$k2){
   $oow = $ow;
   $ooh = round($ow*$k1);
   $sw = 0;
   $sh = ($oh-$ooh)/2;
  }
  else {
   $oow = $oh/$k1;
   $ooh = $oh;
   $sw = ($ow-$oow)/2;
   $sh = 0;
  }
  //生成图片
  if(function_exists(imagecopyresampled)){
   imagecopyresampled($nim,$im,0,0,$sw,$sh,$w,$h,$oow,$ooh);  
  }
  else {
   imagecopyresized($nim,$im,0,0,$sw,$sh,$w,$h,$oow,$ooh);
  }
  //处理后的目录是否存在
  if(!is_dir($this->newdir)){
   @mkdir($this->newdir);
  }
  //保存图片   
  switch($ot){
   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;   
}
  
/**
  * 保存网络图片
  *
  * @ param  getImg(源图)
  * @ return 保存后的本地址址(本地目录的MD5文件名)
  */
function getimg($l1){
  $l2 = $this->dir.'/'.substr(md5($l1),10,10).strrchr($l1,".");
  //文件存在,直接返回地址
  if(file_exists($l2)){  
   //echo "exits...";
   return $l2;
  }
 
  //开始获取文件,并返回新路径
  $img = file_get_contents($l1);    
  if($img){
   if(!is_dir($this->dir)){
    @mkdir($this->dir);
   }
   savefile($l2, $img);
   //echo "file_get..";
   return $l2;
  }   
}

//保存文件(文件, [内容])
function savefile($l1, $l2=''){  
 if(function_exists(file_put_contents)){
  file_put_contents($l1, $l2);
 } else{
  $fp = @fopen($l1, 'wb');
  @fwrite($fp, $l2);
  fclose($fp);
 }
}

/**
  * 转换缩略图(文件名和结构不变)
  *
  * @ param  mini(源地址, 宽度, 高度, 质量 )
  * @ return 生成的地址
  */

//获取文件后缀(文件)
function getfix($l1){
 return end(explode('.', $l1));
}

function reImg($src, $w, $h, $q=80){
  $this->keep = 1;
  return $this->Mini($src, $w, $h, $q);
}
}

//是否为允许类型(当前, 允许)
function checkfix($l1, $l2){
 if(!is_array($l2)){
  $l2 = explode(',', str_replace(' ', '', $l2));
 }
 return in_array($l1, $l2) ? 1 : 0;
}

class image{
 //源地址
 var $src;  
 //新图路径(本地化后)
 var $newsrc;
  
 //允许的图类型
 var $allowtype = array('.jpg','.gif','.png','.jpeg');  
 //是否缩略GIF, 为0不处理
 var $regif   = 0;
 //是否保留源文件(1为保留, 0为MD5)
 var $keep = 0;
 //是否可以覆盖已存在的图片,为0则不可覆盖
 var $over = 0;
   
 //图片源目录 
 var $dir; 
 //处理后的目录 
 var $newdir; 

 function __construct($l1=null, $l2=null){
  $this->dir   = $l1 ? $l1 : "./images/temp";
  $this->newdir = $l2 ? $l2 : "./images/s";
 }
 
 function image($l1=null, $l2=null){
  $this->__construct($l1, $l2);
 }
 
 /**
  * 处理后的文件路径
  * 将源图片,MD5文件名后保存到新的目录里
  *
  * @ param  rename()
  * @ return 处理后的文件名
  */
 function reName($src){
  //MD5后文件名(例如:3293okoe.gif)
  $l1 = substr(md5($src),10,10).strrchr($src,"."); 
  //处理后文件名
  $l1  = $this->w.'_'.$this->h.'_'.$l1; 
  //返回处理后的地址
  return $this->newdir.'/'.$l1;
 }
 
  
 /**
  * 生成缩略图
  *
  * @ param  Mini(图片地址, 宽度, 高度, 质量)
  *   如果要保留原来的文件名,请设置 $o->keep = 1;
  * @ return 处理后的图片地址
  */
 function Mini($src,$w,$h, $q=80){ 
  $this->src = $src;
  $this->w = $w;
  $this->h = $h;
  
  //是否处理GIF图
  if(strrchr($src, ".") == ".gif" && $this->regif == 0){
   return $this->src;
  } 
  
  //是否保留原文件名,默认不保留
  if(!$this->keep){
   //改名后的文件地址
   $newsrc = $this->reName($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);  
  $ow = $arr[0];
  $oh = $arr[1];
  $ot = $arr[2];  
  switch($ot){
   case 1:
    $im = imagecreatefromgif($src);
    break;
   case 2:
    $im = imagecreatefromjpeg($src);
    break;
   case 3:
    $im = imagecreatefrompng($src);
    break;
   default:
    return 0;
  }
  //处理缩略图
  $nim = imagecreatetruecolor($w,$h);
  $k1 = round($h/$w,2);
  $k2 = round($oh/$ow,2);
  if ($k1<$k2){
   $oow = $ow;
   $ooh = round($ow*$k1);
   $sw = 0;
   $sh = ($oh-$ooh)/2;
  }
  else {
   $oow = $oh/$k1;
   $ooh = $oh;
   $sw = ($ow-$oow)/2;
   $sh = 0;
  }
  //生成图片
  if(function_exists(imagecopyresampled)){
   imagecopyresampled($nim,$im,0,0,$sw,$sh,$w,$h,$oow,$ooh);   
  }
  else {
   imagecopyresized($nim,$im,0,0,$sw,$sh,$w,$h,$oow,$ooh);
  }
  //处理后的目录是否存在
  if(!is_dir($this->newdir)){
   @mkdir($this->newdir);
  } 
  //保存图片    
  switch($ot){
   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;    
 }
   
 /**
  * 保存网络图片
  *
  * @ param  getImg(源图)
  * @ return 保存后的本地址址(本地目录的MD5文件名)
  */
 function getimg($l1){
  $l2 = $this->dir.'/'.substr(md5($l1),10,10).strrchr($l1,".");
  //文件存在,直接返回地址
  if(file_exists($l2)){   
   //echo "exits...";
   return $l2;
  }
  
  //开始获取文件,并返回新路径 
  $img = file_get_contents($l1);     
  if($img){
   if(!is_dir($this->dir)){
    @mkdir($this->dir);
   } 
   savefile($l2, $img);
   //echo "file_get..";
   return $l2;
  }    
 }
 
 /**
  * 转换缩略图www.111cn.net(文件名和结构不变)
  *
  * @ param  mini(源地址, 宽度, 高度, 质量 )
  * @ return 生成的地址
  */
 
 function reImg($src, $w, $h, $q=80){
  $this->keep = 1;
  return $this->Mini($src, $w, $h, $q);
 } 
}
?>

本文由www.w88985.com发布于w88官方网站手机版,转载请注明出处:PHP批量生成图片缩略图,完美的批量变化缩略图

关键词: www.w88985.c