可定制的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 相关文章推荐
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
PHP 中文处理技巧
Apr 25 PHP
CURL状态码列表(详细)
Jun 27 PHP
PHP中把stdClass Object转array的几个方法
May 08 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
Jun 19 PHP
mantis安装、配置和使用中的问题小结
Jul 14 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
PHP实现Redis单据锁以及防止并发重复写入
Apr 10 PHP
PHP JWT初识及其简单示例
Oct 10 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
Jan 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实现智能文件类型检测的实现代码
2011/08/02 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
[02:40]DOTA2英雄基础教程 先知
2013/11/29 DOTA
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
python在控制台输出进度条的方法
2015/06/20 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
一道Delphi面试题
2016/10/28 面试题
机工车间主任岗位职责
2014/03/05 职场文书
公司管理建议书范文
2014/03/12 职场文书
建筑节能汇报材料
2014/08/22 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
社区义诊通知
2015/04/24 职场文书
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技