Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php利用GD库生成缩略图示例代码

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

怪我咯
怪我咯asal
2017-07-12 15:05:221552semak imbas

GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。在PHP处理图像,可使用GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从 GD 库 1.6 版起所有的 GIF 支持都移除了,但是又在 GD 库 2.0.28 版起又加了回来。如果使用二者之间版本的 GD 库时 GIF 相关函数不可用。

本文为大家介绍下php如何利用GD库生成缩略图的,下面有个不错的示例,大家可以参考下

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[&#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);

Atas ialah kandungan terperinci php利用GD库生成缩略图示例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn