当前位置:Linux教程 - Php - 上传图片自动生成缩略图函数

上传图片自动生成缩略图函数

小站图览栏目使用了一个生成缩略图函数,这个函数来自网络中。
函数:
// 本函数从源文件取出图象,设定成指定大小,并输出到目的文件
// 源文件格式:gif,jpg,,png
// 目的文件格式:jpg
// $srcFile: 源文件
// $dstFile: 目标文件
// $dstW: 目标图片宽度
// $dstH: 目标文件高度
function makethumb($srcFile,$dstFile,$dstW,$dstH) {
$data = GetImageSize($srcFile,&$info);
switch ($data[2]) {
case 1:
$im = @ImageCreateFromGIF($srcFile);
break;
case 2:
$im = @imagecreatefromjpeg($srcFile);
break;
case 3:
$im = @ImageCreateFromPNG($srcFile);
break;
}
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$ni=ImageCreate($dstW,$dstH);
ImageCopyResized($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
ImageJpeg($ni,$dstFile);
// 如果需要输出到浏览器,那么将上一句改为ImageJpeg($ni);
// 如果需要其它格式的图片,改动最后一句就可以了
}
使用方法:
if($upfile_size>0)
{
$simage="s".date('Y-m-d-H-i-s',time()).".jpg";//$simage为生成缩略图文件名
$bimage="b".date('Y-m-d-H-i-s',time()).substr($upfile_name,-4);$bimage为原图上传后的文件名
copy($upfile,"./$bimage");
$src_image="./".$bimage;
$dst_image="./".$simage;
makethumb($src_image,$dst_image,'90','125');
}

注意事项:
在 1.6.2 版以后的 GD library 没有支援 GIF 格式的功能,请注意这一点。