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

 更新时间:2014年01月20日 11:39:31   作者:  
分享一个利用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.jb51.net 
//创建空白新图片  
$newimage=imagecreatetruecolor($width, $height);  
//copy源图片内容 copy新图片  
imagecopyresized($newimage, $image, 0,0, 0,0, $width, $height, $w, $h);  
$filename="upload/s_".$file;  
imagejpeg($newimage,$filename);  

相关文章

  • 变量在 PHP7 内部的实现(一)

    变量在 PHP7 内部的实现(一)

    这篇文章主要介绍了变量在 PHP7 内部的实现(一)的相关资料,需要的朋友可以参考下
    2015-12-12
  • php版微信公众平台实现预约提交后发送email的方法

    php版微信公众平台实现预约提交后发送email的方法

    这篇文章主要介绍了php版微信公众平台实现预约提交后发送email的方法,结合实例形式分析了php微信公众平台邮件发送的相关操作技巧,需要的朋友可以参考下
    2016-09-09
  • phpStorm+XDebug+chrome 配置详解

    phpStorm+XDebug+chrome 配置详解

    这篇文章主要介绍了phpStorm+XDebug+chrome 配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Laravel5中contracts详解

    Laravel5中contracts详解

    在Laravel5中出现了一个新的东西,叫做contracts,那么它到底是什么?有什么用?怎么用?我们就来探讨下吧。
    2015-03-03
  • 基于Swoole实现PHP与websocket聊天室

    基于Swoole实现PHP与websocket聊天室

    本文利用Swoole来实现PHP+websocket的聊天室,过程介绍的很详细,对聊天室的开发很有帮助,有需要的可以参考学习。
    2016-08-08
  • TP3.2批量上传文件或图片 同名冲突问题的解决方法

    TP3.2批量上传文件或图片 同名冲突问题的解决方法

    这篇文章主要为大家详细介绍了TP3.2批量上传文件或图片,同名冲突问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • smarty内置函数capture用法分析

    smarty内置函数capture用法分析

    这篇文章主要介绍了smarty内置函数capture用法,实例分析了capture的三种常见用法,需要的朋友可以参考下
    2015-01-01
  • Zend Framework分页类用法详解

    Zend Framework分页类用法详解

    这篇文章主要介绍了Zend Framework分页类用法,结合实例形式详细分析了Zend Framework分页类的实现代码,相关功能与使用技巧,需要的朋友可以参考下
    2016-03-03
  • PHP单例模式与工厂模式详解

    PHP单例模式与工厂模式详解

    这篇文章主要为大家详细介绍了PHP单例模式与工厂模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • PHP中重启php-fpm的几种方法汇总

    PHP中重启php-fpm的几种方法汇总

    这篇文章主要介绍了PHP中重启php-fpm的几种方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论