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邮件专题
Oct 09 PHP
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
php 执行系统命令的方法
Jul 07 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
遍历echsop的region表形成缓存的程序实例代码
Nov 01 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
Jun 06 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
php 使用 __call实现重载功能示例
Nov 18 PHP
php微信小程序解包过程实例详解
Mar 31 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
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
js中判断数字\字母\中文的正则表达式 (实例)
2012/06/29 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
常用javascript表单验证汇总
2020/07/20 Javascript
深入浅析JavaScript中的Function类型
2016/07/09 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
开源Web应用框架Django图文教程
2017/03/09 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
python实现处理mysql结果输出方式
2020/04/09 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
小学生倡议书范文
2014/05/13 职场文书
小石潭记导游词
2015/02/03 职场文书
2015年财政所工作总结
2015/04/25 职场文书
大学生见习总结报告
2015/06/24 职场文书
校友会致辞
2015/07/30 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS