可定制的PHP缩略图生成程式(需要GD库支持)


Posted in PHP onMarch 06, 2007

经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节 使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试 

经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节 

使用方法: 在支持GD库的PHP环境中,将以下代码另存为resize.php测试  

<?  $FILENAME="image_name";  
// 生成图片的宽度  
$RESIZEWIDTH=400;  
// 生成图片的高度  
$RESIZEHEIGHT=400;  
//生成图片的路径  
$uploaddir="c:/winnt/temp";  
function ResizeImage($im,$maxwidth,$maxheight,$name){  
global $uploaddir;  
$width = imagesx($im);  
$height = imagesy($im);  
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){  
if($maxwidth && $width > $maxwidth){  
$widthratio = $maxwidth/$width;  
$RESIZEWIDTH=true;  
}  
if($maxheight && $height > $maxheight){  
$heightratio = $maxheight/$height;  
$RESIZEHEIGHT=true;  
}  
if($RESIZEWIDTH && $RESIZEHEIGHT){  
if($widthratio < $heightratio){  
$ratio = $widthratio;  
}else{  
$ratio = $heightratio;  
}  
}elseif($RESIZEWIDTH){  
$ratio = $widthratio;  
}elseif($RESIZEHEIGHT){  
$ratio = $heightratio;  
}  
$newwidth = $width * $ratio;  
$newheight = $height * $ratio;  
if(function_exists("imagecopyresampled")){  
$newim = imagecreatetruecolor($newwidth, $newheight);  
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  
}else{  
$newim = imagecreate($newwidth, $newheight);  
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  
}  
ImageJpeg ($newim,$uploaddir.$name . ".jpg");  
ImageDestroy ($newim);  
}else{  
ImageJpeg ($im,$uploaddir.$name . ".jpg");  
}  
}  

if($_FILES['image']['size']){  
if($_FILES['image']['type'] == "image/pjpeg"){  
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);  
}elseif($_FILES['image']['type'] == "image/x-png"){  
$im = imagecreatefrompng($_FILES['image']['tmp_name']);  
}elseif($_FILES['image']['type'] == "image/gif"){  
$im = imagecreatefromgif($_FILES['image']['tmp_name']);  
}  
if($im){  
if(file_exists("$FILENAME.jpg")){  
unlink("$FILENAME.jpg");  
}  
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);  
ImageDestroy ($im);  
}  
}  
?>  
<img src="<? echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>"><br><br>  
<form enctype="multipart/form-data" method="post">  
<br>  
<input type="file" name="image" size="50" value="浏览"><p>  
<input type="submit" value="上传图片">  
</form>   
</body>  
</html>
PHP 相关文章推荐
PHP的FTP学习(二)
Oct 09 PHP
将OICQ数据转成MYSQL数据
Oct 09 PHP
在线增减.htpasswd内的用户
Oct 09 PHP
推荐个功能齐全的发送PHP邮件类
Jan 03 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
PHP学习笔记之php文件操作
Jun 03 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
php中Swoole的热更新实现代码实例
Mar 04 PHP
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 #PHP
收集的php编写大型网站问题集
Mar 06 #PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 #PHP
个人站长制做网页常用的php代码
Mar 03 #PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 #PHP
给php新手谈谈我的学习心得
Feb 25 #PHP
Smarty+QUICKFORM小小演示
Feb 25 #PHP
You might like
一致性哈希算法以及其PHP实现详细解析
2013/08/24 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
jquery实现盒子下拉效果示例代码
2013/09/12 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
js取得html iframe中的元素和变量值
2014/06/30 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python mysqldb连接数据库
2009/03/16 Python
python实现在控制台输入密码不显示的方法
2015/07/02 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python中文件的读取和写入操作
2018/04/27 Python
Django框架实现的分页demo示例
2019/05/25 Python
django使用JWT保存用户登录信息
2020/04/22 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
眼镜促销方案
2014/03/15 职场文书
《秋游》教学反思
2014/04/24 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
面试复试通知单
2015/04/24 职场文书
班委竞选稿范文
2015/11/21 职场文书
2016年五一促销广告语
2016/01/28 职场文书
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS