可定制的PHP缩略图生成程式(需要GD库支持)
author:一佰互联 2019-05-01   click:133
经典的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>