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);  

相关文章

  • Yii框架核心组件类实例详解

    Yii框架核心组件类实例详解

    这篇文章主要介绍了Yii框架核心组件类,结合实例形式详细分析了Yii框架中成员变量扩展、事件模型及行为类绑定相关原理与操作技巧,需要的朋友可以参考下
    2019-08-08
  • 解决Laravel自定义类引入和命名空间的问题

    解决Laravel自定义类引入和命名空间的问题

    今天小编就为大家整理了一篇解决Laravel自定义类引入和命名空间的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Laravel 5 框架入门(二)构建 Pages 的管理功能

    Laravel 5 框架入门(二)构建 Pages 的管理功能

    这篇文章主要介绍了Laravel 5 框架入门的第二篇文章,给大家讲解的是构建 Pages 的管理功能,十分的详细,有需要的小伙伴可以参考下。
    2015-04-04
  • Thinkphp通过一个入口文件如何区分移动端和PC端

    Thinkphp通过一个入口文件如何区分移动端和PC端

    这篇文章主要介绍了Thinkphp通过一个入口文件区分移动端和PC端的方法,需要的的朋友参考下吧
    2017-04-04
  • thinkphp模板赋值与替换实例简述

    thinkphp模板赋值与替换实例简述

    这篇文章主要介绍了thinkphp模板赋值与替换的方法,以实例形式简述了模板复制的两种简单方法,以及模板替换中的特殊字符串说明与用法实例,是使用频率比较高的技巧,需要的朋友可以参考下
    2014-11-11
  • TP5框架实现的数据库备份功能示例

    TP5框架实现的数据库备份功能示例

    这篇文章主要介绍了TP5框架实现的数据库备份功能,结合实例形式分析了TP5数据库备份功能相关原理及实现方法,需要的朋友可以参考下
    2020-04-04
  • 实例介绍PHP的Reflection反射机制

    实例介绍PHP的Reflection反射机制

    这篇文章主要介绍了实例介绍PHP的Reflection反射机制,本文从使用Reflection获取一个类的信息角度来介绍PHP的Reflection反射机制,需要的朋友可以参考下
    2014-08-08
  • YII模块实现绑定二级域名的方法

    YII模块实现绑定二级域名的方法

    这篇文章主要介绍了YII模块实现绑定二级域名的方法,需要的朋友可以参考下
    2014-07-07
  • Smarty中调用FCKeditor的方法

    Smarty中调用FCKeditor的方法

    这篇文章主要介绍了Smarty中调用FCKeditor的方法,对比常见的错误方法讲述了Smarty中调用FCKeditor的实现过程,是非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • Laravel框架路由配置总结、设置技巧大全

    Laravel框架路由配置总结、设置技巧大全

    这篇文章主要介绍了Laravel框架路由配置总结、设置技巧大全,Laravel 中最简单的路由由一个URI和一个闭包调用组成,需要的朋友可以参考下
    2014-09-09

最新评论