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


Posted in PHP onJanuary 20, 2014
<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;   
} 3water.com  
//创建空白新图片   
$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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
PHP配置心得包含MYSQL5乱码解决
Nov 20 PHP
escape unescape的php下的实现方法
Apr 27 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
php通过rmdir删除目录的简单用法
Mar 18 PHP
PHP通过API获取手机号码归属地
May 28 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
php操纵mysqli数据库的实现方法
Sep 18 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
php layui实现前端多图上传实例
Jul 30 PHP
php解析url的三个示例
Jan 20 #PHP
使用php伪造referer的方法 利用referer防止图片盗链
Jan 20 #PHP
php fsockopen解决办法 php实现多线程
Jan 20 #PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 #PHP
php共享内存段示例分享
Jan 20 #PHP
php使用base64加密解密图片示例分享
Jan 20 #PHP
用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
Jan 19 #PHP
You might like
php xml实例 留言本
2009/03/20 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
js+html制作简单验证码
2017/02/16 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
详解vue项目构建与实战
2017/06/27 Javascript
浅谈React高阶组件
2018/03/28 Javascript
node.js中ws模块创建服务端和客户端,网页WebSocket客户端
2019/03/06 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
python基础教程之序列详解
2014/08/29 Python
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
简单介绍Python中的readline()方法的使用
2015/05/24 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python try 异常处理(史上最全)
2019/03/07 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
python3跳出一个循环的实例操作
2020/08/18 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
产品生产计划书
2014/05/07 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
入党积极分子党小组意见
2015/06/02 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
Windows10安装Apache2.4的方法步骤
2022/06/25 Servers