可定制的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 相关文章推荐
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
Feb 01 PHP
再谈PHP中单双引号的区别详解
Jun 12 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
PHP读取Excel类文件
May 15 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
PHP 图片处理
Sep 16 PHP
深入理解PHP+Mysql分布式事务与解决方案
Dec 03 PHP
PHP7变量处理机制修改
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计算十二星座的函数代码
2012/08/21 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
JS实现动态星空背景效果
2019/11/01 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
Python自带的IDE在哪里
2020/07/01 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
优秀求职信
2014/05/29 职场文书
医院我们的节日活动实施方案
2014/08/22 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
2015年三万活动总结
2015/03/25 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
感恩主题班会教案
2015/08/12 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL