首页 >php教程 >php手册 > 正文

一款php批量生成缩略图代码

原创2016-06-13 09:48:460245

$oimg = "test.jpg";//original image name
$classes = array('translation','autoheight','autowidth','stretch');//give classes for the new creating images' size which are defined in the specified ini file
$suffix = 'jpg';//the new image's suffix
$inifile = 'image.ini.php';

$size = getimagesize($oimg);
$x = $size[0]/$size[1];
$name = explode('.',$oimg);

if(!file_exists($inifile)) die('ini file does not exist!');
$cn = parse_ini_file($inifile,true);//parse the class style image size from ini file
foreach($classes as $class){
foreach($cn as $k=>$v){
if($k==$class){
if($v['width'] && $v['height']){
$thumbwidth = $v['width'];
$thumbheight = $v['height'];
}elseif($v['width']){
$thumbwidth = $v['width'];
$thumbheight = round($thumbwidth/$x);
}elseif($v['height']){
$thumbheight = $v['height'];
$thumbwidth = round($thumbheight*$x);
}else{
$thumbwidth = $size[0];
$thumbheight = $size[1];
}
break;
}
}
if(!isset($thumbheight) && !isset($thumbwidth)) die('ini file settings error!');

$nimg = $name[0].'_'.$class.'.'.$suffix;//new image file name
$source = imagecreatefromjpeg($oimg);
$thumb = imagecreatetruecolor($thumbwidth, $thumbheight);
imagecopyresampled($thumb,$source,0,0,0,0,$thumbwidth,$thumbheight,$size[0],$size[1]);

if($suffix=='jpg') $method = 'imagejpeg';
else $method='image'.$suffix;
$method($thumb, $nimg);
imagedestroy($thumb);//release the image source
imagedestroy($source);
}
?>

缩放图片的php代码,其中变量classes是一个数组,可以选择任意多个ini文件中指定的设置:

这是一个ini配置文件,上面的代码就要读取这个文件中的图片位置,可以多个。

;translate the image format using the original image size
[translation]
width=0
height=0

;stretch the image to the specified size
[stretch]
width=800
height=600

;zoom the image to the specified width with height auto size
[autoheight]
width=740
height=0

;zoom the image to the specified height with width auto size
[autowidth]
width=0
height=380
*/ ?>

注意:ini文件使用php解释时为注释文件,什么也没有输出,这是为了安全起见而故意为之。而;则是ini文件的注释。

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    作者信息

    php中文网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类