可定制的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 和 XML: 使用expat函数(三)
Oct 09 PHP
PHP5 面向对象程序设计
Feb 13 PHP
php 破解防盗链图片函数
Dec 09 PHP
PHP的一个基础知识 表单提交
Jul 04 PHP
php获取操作系统语言代码
Nov 04 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 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的知识
2006/11/17 PHP
php getsiteurl()函数
2009/09/05 PHP
php DOS攻击实现代码(附如何防范)
2012/05/29 PHP
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
python的id()函数解密过程
2012/12/25 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
中班幼儿评语大全
2014/04/30 职场文书
小学生倡议书范文
2014/05/13 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Python开发简易五子棋小游戏
2022/05/02 Python