可定制的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执行速度全攻略(上)
Oct 09 PHP
php array_flip() 删除数组重复元素
Jan 14 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
php中大括号作用介绍
Mar 22 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
Jun 22 PHP
php生成动态验证码gif图片
Oct 19 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
一个非常实用的php文件上传类
Jul 04 PHP
laravel 中如何使用ajax和vue总结
Aug 16 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(二)
2012/03/21 PHP
php开发文档 会员收费1期
2012/08/14 PHP
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
Javascript实现视频轮播在pc端与移动端均可
2013/09/29 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
vue+iview 兼容IE11浏览器的实现方法
2019/01/07 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
python之wxPython应用实例
2014/09/28 Python
简单介绍Python的Django框架加载模版的方式
2015/07/20 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
主题班会演讲稿
2014/05/22 职场文书
介绍信应该怎么开?
2019/04/03 职场文书