zl程序教程

您现在的位置是:首页 >  后端

当前栏目

php利用GD库生成缩略图示例

PHP 利用 示例 生成 缩略图 GD
2023-06-13 09:15:16 时间
php利用GD库生成缩略图。
复制代码代码如下:

<formmethod="post"action="suo_do.php"enctype="multipart/form-data">
<inputtype="file"name="pic"/>
<inputtype="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;
}elseif($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);