การย่อขนาดรูปตอนอัพโหลดด้วย php (Resize image)

       ในการอัพโหลดรูปขึ้น Server นั้น บางครั้งเวลาใช้งานเราอาจจะแค่อยากโชว์รูปตัวอย่างโดยที่ไม่ต้องการความละเอียดอะไรมาก เพื่อไม่ให้โหลดรูปช้าเวลาที่เอามาแสดงในหน้าเว็บ  จึงต้องมีการย่อขนาดรูปไว้  สำหรับดูเป็นรูปตัวอย่าง  ตัวอย่างโค้ด PHP ดังนี้

$imageupload = $_FILES[‘myfile’][‘tmp_name’];  
$imageupload_name = $_FILES[‘myfile’][‘name’];  
$path1 = "../pic/publishPic"; 
$newwidth=180;  //ความกว้างของรูปใหม่ที่ต้องการ
$nowDate=date('YmdHis');   //ใช้วันเวลาในการบันทึกไฟล์ เพื่อไม่ให้ชื่อซ้ำกัน
$arraypic = explode(".",$imageupload_name);  //แบ่งชื่อไฟล์กับนามสกุล
$filename = strtolower($arraypic[0]); //แปลงเป็นตัวพิมพ์เล็ก ดึงชื่อไฟล์
$filetype = strtolower($arraypic[1]);   //แปลงเป็นตัวพิมพ์เล็ก ดึงนามสกุลไฟล์
$new_images = "Thumb_".$nowDate.".".$filetype;
$target_path = "../pic/publishPic/".$nowDate.".".$filetype;
         
if(copy($_FILES[‘myfile’][‘tmp_name’], $target_path)) {   //Copy ไฟล์ตัวขนาดจริง               
    
if($filetype=="jpg" || $filetype=="jpeg"){  
$src = imagecreatefromjpeg($imageupload);  
}  
else if($filetype=="png"){  
$src = imagecreatefrompng($imageupload);  
}  
else if($filetype=="gif"){  
$src = imagecreatefromgif($imageupload);  
}  
        
list($width,$height)=getimagesize($imageupload);  
$newheight=($height/$width)*$newwidth;  
$tmp=imagecreatetruecolor($newwidth,$newheight);  
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);  
        if($filetype=="jpg" || $filetype=="jpeg"){  
               imagejpeg($tmp,$path1."/".$new_images);  
            }  
         else if($filetype=="png"){  
                imagepng($tmp,$path1."/".$new_images);  
            }  
         else{  
               imagegif($tmp,$path1."/".$new_images);  
          }           
}

ก็จะได้รูปตัวอย่าง ไว้โชว์รูปเล็กๆ
php resize image

 

 

 

 

 

Comments

comments

You may also like...

ใส่ความเห็น