php实现在服务器端调整图片大小的方法
本文实例讲述了php实现在服务器端调整图片大小的方法。分享给大家供大家参考。具体分析如下:
在服务器端完成图片大小的调整,会比在浏览器的处理有很多的好处。
本文介绍了PHP如何在服务器端调整图片大小。
代码包括两部分:
①imageResizer()isusedtoprocesstheimage
②loadimage()insertstheimageurlinasimplerformat
<?php
functionimageResizer($url,$width,$height){
header('Content-type:image/jpeg');
list($width_orig,$height_orig)=getimagesize($url);
$ratio_orig=$width_orig/$height_orig;
if($width/$height>$ratio_orig){
$width=$height*$ratio_orig;
}else{
$height=$width/$ratio_orig;
}
//Thisresamplestheimage
$image_p=imagecreatetruecolor($width,$height);
$image=imagecreatefromjpeg($url);
imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);
//Outputtheimage
imagejpeg($image_p,null,100);
}
//workswithbothPOSTandGET
$method=$_SERVER['REQUEST_METHOD'];
if($method=='GET'){
imageResize($_GET['url'],$_GET['w'],$_GET['h']);
}elseif($method=='POST'){
imageResize($_POST['url'],$_POST['w'],$_POST['h']);
}
//makestheprocesssimpler
functionloadImage($url,$width,$height){
echo'image.php?url=',urlencode($url),
'&w=',$width,
'&h=',$height;
}
?>
用法:
//Abovecodewouldbeinafilecalledimage.php.
//Imageswouldbedisplayedlikethis:
<imgsrc="<?phploadImage('image.jpg',50,50)?>"alt=""/>
希望本文所述对大家的php程序设计有所帮助。