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

  

复制代码 代码如下:

  <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.glzy8.com

  //创建空白新图片

  $newimage=imagecreatetruecolor($width, $height);

  //copy源图片内容 copy新图片

  imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);

  $filename="upload/s_".$file;

  imagejpeg($newimage,$filename);