|
|
|
การลดขนาดภาพที่อัพโหลด ทำไมภาพที่เล็กกว่าที่ก่ำหนดมันขยายเท่ากับขนาดที่กำหนด |
|
|
|
|
|
|
|
การอัพโหลดภาพที่มีต้องมีการ resize ให้เล็กเท่าขนาดที่กำหนด ภาพที่มีขนาดใหญ่สามารถ resize ได้ แต่ภาพที่เล็กอยู่แล้วมันดันขยายเท่าขนาดที่กำหนดด้วยค่ะ ต้องแก้ยังไงคะ
Code (PHP)
$Folderpic = "BoardUploadPic" ;
if($_FILES["picupload"]["tmp_name"]){
$picupload=$_FILES["picupload"]["tmp_name"];
$picupload_name=$_FILES["picupload"]["name"];
if (isset($_FILES[picupload][name])) {
//*** ส่วนนี้คือการ Rename รูปให้เป็นวันที่ที่บันทึก ***//
$ext = strtolower(end(explode('.', $picupload_name)));
$dateUpFile=date("YmdHis");
$newname=$dateUpFile.".".$ext; //ชื่อไฟล์ที่กำหนดขึ้นมาใหม่ โดยใช้วันและเวลาเป็นตัวกำหนดตั้งชื่อ
//*** สร้างภาพขึ้นมาใหม่ตามนามสกุลของไฟล์เดิม ***//
$images = $picupload;
$size = getimagesize($images);
if($size>600){
$width=600; //ขนาดความกว้างที่ต้องการ Resize
$height=round($width*$size[1]/$size[0]);
$img_type=strtolower(end(explode('.',$images)));
if($size[2] == 1) {
$images_orig = imagecreatefromgif($images); // GIF
} else if($size[2] == 2) {
$images_orig = imagecreatefromjpeg($images); // JPEG
}
else if($size[2] == 3) {
$images_orig = imagecreatefrompng($images); // png
}
//*** ส่วนนี้คือการ Resize รูป ***//
$photoX = imagesx($images_orig);
$photoY = imagesy($images_orig);
$images_fin = imagecreatetruecolor($width, $height);
imagecopyresampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY); // ทำการ Resize ภาพ
imageJPEG($images_fin,"$Folderpic/".$newname);
imagedestroy($images_orig);
imagedestroy($images_fin);
}
}
}
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2011-11-14 19:19:07 |
By :
AnnYZaa |
View :
1314 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่มเติมอีกนิดค่ะ ถ้าจะเพื่มให้มีการแจ้งเตือนมีมีการอัพภาพผิดประเภท เช่น .tif จะต้องใส่การแจ้งแตือนตรงไหน ยังไงคะ
|
|
|
|
|
Date :
2011-11-14 19:33:17 |
By :
AnnYZaa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|