php利用GD库生成缩略图示例
作者:
本文为大家介绍下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['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);
复制代码 代码如下:
<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;
}
//创建空白新图片
$newimage=imagecreatetruecolor($width, $height);
//copy源图片内容 copy新图片
imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);
$filename="upload/s_".$file;
imagejpeg($newimage,$filename);
您可能感兴趣的文章:
- PHP GD库生成图像的几个函数总结
- php实现的支持imagemagick及gd库两种处理的缩略图生成类
- 使用gd库实现php服务端图片裁剪和生成缩略图功能分享
- PHP用GD库生成高质量的缩略图片
- php的GD库imagettftext函数解决中文乱码问题
- 可定制的PHP缩略图生成程式(需要GD库支持)
- PHP5中GD库生成图形验证码(有汉字)
- PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
- PHP中使用GD库创建圆形饼图的例子
- PHP中使用GD库绘制折线图 折线统计图的绘制方法
- php 使用GD库为页面增加水印示例代码
- php中使用gd库实现下载网页中所有图片
- PHP基于GD库的图像处理方法小结