可定制的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 变量的定义方法
Jan 26 PHP
php iconv() : Detected an illegal character in input string
Dec 05 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php使用正则表达式获取图片url的方法
Jan 16 PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 PHP
php加密解密字符串示例
Oct 13 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
PHP中for循环与foreach的区别
Mar 06 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下把数组保存为文件格式的实例应用
2010/02/08 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
PHP可变函数的使用详解
2013/06/14 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
jquery动画1.加载指示器
2012/08/24 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
javascript版2048小游戏
2015/03/18 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python实现自动发送报警监控邮件
2018/06/21 Python
在Python中关于使用os模块遍历目录的实现方法
2019/01/03 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Css3新特性应用之形状总结
2016/12/08 HTML / CSS
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
2013的个人自我评价
2013/12/26 职场文书
小学生感恩老师演讲稿
2014/08/28 职场文书
公司介绍信范文
2015/01/31 职场文书
网络销售员岗位职责
2015/04/11 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
Python3接口性能测试实例代码
2021/06/20 Python