可定制的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脚本的10个技巧(8)
Oct 09 PHP
在PHP中执行系统外部命令
Oct 09 PHP
php打造属于自己的MVC框架
Mar 07 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
PHP实现SMTP邮件的发送实例
Sep 27 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/07/04 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
2014/03/18 NodeJs
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
Javascript读写cookie的实例源码
2019/03/16 Javascript
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python随机生成库faker库api实例详解
2019/11/28 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
python 模拟登录B站的示例代码
2020/12/15 Python
python palywright库基本使用
2021/01/21 Python
python中Array和DataFrame相互转换的实例讲解
2021/02/03 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
演讲稿开场白
2014/01/13 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android