phpGD库生成缩略图的例子
时间:2021-07-01 10:21:17
帮助过:29人阅读
- 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;
- }
- //创建空白新图片
- $newimage=imagecreatetruecolor($width, $height);
- //copy源图片内容 copy新图片
- imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);
- $filename="upload/s_".$file;
- imagejpeg($newimage,$filename);
|