可定制的PHP缩略图生成程式(需要GD库支持)

 更新时间:2007年03月06日 00:00:00   作者:  
经典的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清除bom示例

    使用php清除bom示例

    本文主要介绍了使用PHP去除文件BOM头的的示例,需要的朋友可以参考下
    2014-03-03
  • 基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例

    基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例

    这篇文章主要介绍了基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作,结合实例形式分析了thinkPHP5框架整合QueryList爬取数据存入mysql相关操作技巧及注意事项,需要的朋友可以参考下
    2019-05-05
  • Laravel推荐使用的十个辅助函数

    Laravel推荐使用的十个辅助函数

    这篇文章主要给大家介绍了关于Laravel推荐使用的十个辅助函数,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Codeigniter整合Tank Auth权限类库详解

    Codeigniter整合Tank Auth权限类库详解

    相交其他CodeIgniter的类库,tank_auth,配置简单,使用也简单,并且作者也一直在更新。这篇文章主要介绍了Codeigniter整合Tank Auth权限类库详解,需要的朋友可以参考下
    2014-06-06
  • phpfans留言版用到的数据操作类和分页类

    phpfans留言版用到的数据操作类和分页类

    phpfans留言版用到的数据操作类和分页类...
    2007-01-01
  • thinkphp5.1 文件引入路径问题及注意事项

    thinkphp5.1 文件引入路径问题及注意事项

    这篇文章主要介绍了thinkphp5.1 文件引入路径问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • 深入理解PHP中的count函数

    深入理解PHP中的count函数

    下面小编就为大家带来一篇深入理解PHP中的count函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • PHP+Redis事务解决高并发下商品超卖问题(推荐)

    PHP+Redis事务解决高并发下商品超卖问题(推荐)

    这篇文章主要介绍了PHP+Redis事务解决高并发下商品超卖问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • PHP生成HTML静态页面实例代码

    PHP生成HTML静态页面实例代码

    本程序作用是从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录。读取全部数据批量生成,全部生成后弹出提示。可指定批次生成数量,建议不超过800,否则执行速度会有问题。
    2008-08-08
  • PHP网页安全认证的实例详解

    PHP网页安全认证的实例详解

    这篇文章主要介绍了PHP网页安全认证的实例详解的相关资料,这里提供了两种实现方法,一种基于数据库另一种不基于数据库的方法,希望通过本能帮助到大家,需要的朋友可以参考下
    2017-09-09

最新评论