可定制的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 缓冲的免费实现方法
Oct 09 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
Dec 14 PHP
php+ajax注册实时验证功能
Jul 20 PHP
Yii2中关联查询简单用法示例
Aug 10 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
PHP array_shift()用法实例分析
Jan 07 PHP
windows系统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下删除字符串中HTML标签的函数
2008/08/27 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
php中fsockopen用法实例
2015/01/05 PHP
PHP生成器简单实例
2015/05/13 PHP
WordPress中&quot;无法将上传的文件移动至&quot;错误的解决方法
2015/07/01 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
2017/08/18 PHP
兼容ie、firefox的图片自动缩放的css跟js代码分享
2013/08/12 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
纯JS实现轮播图
2017/02/22 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
Python中动态创建类实例的方法
2017/03/24 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
Python自省及反射原理实例详解
2020/07/06 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
艾滋病宣传活动总结
2014/05/08 职场文书
理财计划书
2014/08/14 职场文书
小学生运动会报道稿
2014/09/12 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
Golang 实现WebSockets
2022/04/24 Golang
Redis入门基础常用操作命令整理
2022/06/01 Redis
hive数据仓库新增字段方法
2022/06/25 数据库