php批量缩放图片大小,php批量缩放图片的代码[ini参数控制]_PHP教程

本文介绍了一种通过PHP脚本和INI配置文件来调整图片尺寸的方法。该方法可以根据不同的预设(如等比例缩放、固定宽度或高度等)来自动调整图片的大小。

首先使用一个ini文件来设置要缩放的大小,其中为宽或高0的则为图片放大或缩小,都为0则还是原大小,都不为0都拉抻成指定的大小。

注意:ini文件使用php解释时为注释文件,什么也没有输出,这是为了安全起见而故意为之。而;则是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

*/

?>

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

复制代码 代码如下:

$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);

}

?>

www.bkjia.comtrueTechArticle首先使用一个ini文件来设置要缩放的大小,其中为宽或高0的则为图片放大或缩小,都为0则还是原大小,都不为0都拉抻成指定的大小。 注意…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值