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 相关文章推荐
php debug 安装技巧
Apr 30 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
微信access_token的获取开发示例
Apr 16 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 PHP
WAF的正确bypass
Jan 05 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
PHP简单实现循环链表功能示例
Nov 10 PHP
PHP实现微信申请退款功能
Oct 01 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
Dec 13 PHP
基于PHP实现生成随机水印图片
Dec 09 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 imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
window.open被浏览器拦截后的自定义提示效果代码
2007/11/19 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
ES11屡试不爽的新特性,你用上了几个
2020/10/21 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
Python交换变量
2008/09/06 Python
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
Python文件操作方法详解
2020/02/09 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
Python如何对XML 解析
2020/06/28 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
香港零食网购:上仓胃子
2020/06/08 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
热爱祖国演讲稿
2014/05/04 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
先进典型事迹材料
2014/12/29 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL