【www.gdgbn.com--php常用代码】

php教程
$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文件的注释。

本文来源:http://www.gdgbn.com/jiaocheng/29086/