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

时间:2021-05-25

经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节使用方法:在支持GD库的PHP环境中,将以下代码另存为resize.php测试


经典的PHP缩略图生成程式,基于GD库,可指定生成路径及生成目标的宽高细节

使用方法:在支持GD库的PHP环境中,将以下代码另存为resize.php测试


复制代码 代码如下:
<?

$FILENAME="image_name";

//生成图片的宽度
$RESIZEWIDTH=400;

//生成图片的高度
$RESIZEHEIGHT=400;

//生成图片的路径
$uploaddir="c:/winnt/temp";

functionResizeImage($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);
}
}
?>

<imgsrc="<?echo($FILENAME.".jpg?reload=".rand(0,999999));?>"><br><br>

<formenctype="multipart/form-data"method="post">
<br>
<inputtype="file"name="image"size="50"value="浏览"><p>
<inputtype="submit"value="上传图片">
</form>

</body>
</html>


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章