Home  >  Article  >  Backend Development  >  PHP uses GD library to generate thumbnail sample code

PHP uses GD library to generate thumbnail sample code

怪我咯
怪我咯Original
2017-07-12 15:05:221551browse

GD library is an extension library for PHP to process graphics. The GD library provides a series of APIs for processing pictures. You can use the GD library to process pictures or generate pictures. On the website, the GD library is usually used to generate thumbnails, or to add watermarks to images, or to generate Chinese character verification codes, or to generate reports on website data, etc. To process images in PHP, you can use the GD library. The GD library initially supported GIF. However, because GIF used the copyright-controversial LZW algorithm, it would cause legal issues, so all GIF support has been moved from GD library version 1.6 onwards. Except, but it was added back in GD library version 2.0.28. GIF related functions are not available when using an intermediate version of the GD library.

This article introduces how PHP uses the GD library to generate thumbnails. There is a good example below. You can refer to

php uses the GD library to generate thumbnails. Sketch map.

<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[&#39;pic&#39;][&#39;error&#39;]){ 
echo "上传文件"; 
exit; 
} 
//判断文件类型是否非法获取文件后缀 
$allowtype=array("jpg","png","jpeg","gif"); 
$a=explode(&#39;.&#39;,$_FILES[&#39;pic&#39;][&#39;name&#39;]); 
$index=count($a)-1; 
$ex=strtolower($a[$index]); 
if(!in_array($ex,$allowtype)){ 
echo "上传文件非法"; 
exit; 
} 
$file=date(&#39;YmdHis&#39;).rand().".".$ex; 
$src=$_FILES[&#39;pic&#39;][&#39;tmp_name&#39;]; 
$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);

The above is the detailed content of PHP uses GD library to generate thumbnail sample code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn