php生成缩略图示例代码分享(使用gd库实现)

phpcrazy 2014-01-20

代码如下:

<form method="post" action="suo_do.php" enctype="multipart/form-data">   
<input type="file" name="pic" />   
<input type="submit" value="上传1" />   
</form>   
<?php   
header("content-type:text/html;charset=gbk");   
ini_set("date.timezone","Asia/chong");   
//判断文件是否为空   
if(empty($_FILES)){   
echo"上传文件过大";   
exit;   
}   
//判断文件上传是否有错误   
if($_FILES['pic']['error']){   
echo "上传文件";   
exit;   
}   
//判断文件类型是否非法获取文件后缀   
$allowtype=array("jpg","png","jpeg","gif");   
$a=explode('.',$_FILES['pic']['name']);   
$index=count($a)-1;   
$ex=strtolower($a[$index]);   
if(!in_array($ex,$allowtype)){   
echo "上传文件非法";   
exit;   
}   
$file=date('YmdHis').rand().".".$ex;   
$src=$_FILES['pic']['tmp_name'];   
$des="upload/".$file;   
$rs=move_uploaded_file($src,$des);   

//缩略图   
//读取已经上传图片   
$image=imagecreatefromjpeg($des);   
$a=getimagesize($des);   
$w=$a[0];   
$h=$a[1];   
if($w>$h){   
$width=300;   
$height=$width/$w*$h;   
}else if($w<$h){   
$height=300;   
$width=$height/$h*$w;   
}else{   
$width=300;   
$height=300;   
} www.jb51.net  
//创建空白新图片   
$newimage=imagecreatetruecolor($width, $height);   
//copy源图片内容 copy新图片   
imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);   
$filename="upload/s_".$file;   
imagejpeg($newimage,$filename);  

相关推荐