ในการอัพโหลดรูปขึ้น 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);
}
}
ก็จะได้รูปตัวอย่าง ไว้โชว์รูปเล็กๆ