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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
php获取某个目录大小的代码
Sep 10 PHP
深入PHP与浏览器缓存的分析
Jun 03 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
php读取3389的脚本
May 06 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
PHP语法自动检查的Vim插件
Aug 11 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
php验证手机号码
Nov 11 PHP
PHP云打印类完整示例
Oct 15 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 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 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
Web性能优化系列 10个提升JavaScript性能的技巧
2016/09/27 Javascript
EsLint入门学习教程
2017/02/17 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
2019/01/18 jQuery
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
详解微信小程序(Taro)手动埋点和自动埋点的实现
2021/03/02 Javascript
[01:05]DOTA2完美大师赛趣味视频之选手教你打职业
2017/11/23 DOTA
python中threading超线程用法实例分析
2015/05/16 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
金智子午JAVA面试题
2015/09/04 面试题
战友聚会邀请函
2014/01/18 职场文书
高考标语大全
2014/06/05 职场文书
关于运动会的广播稿
2014/09/22 职场文书
汽车转让协议书
2015/01/29 职场文书
保研专家推荐信范文
2015/03/25 职场文书
运动会宣传稿50字
2015/07/23 职场文书
初中政治教学工作总结
2015/08/13 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
Python中的嵌套循环详情
2022/03/23 Python
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技