|
|
|
การจำกัดขนาดไฟล์ แบบ multiple upload ครับ ขอสอบถามผู้รู้ครับผม |
|
|
|
|
|
|
|
ผมจะจำกัดขนาดไฟล์ก่อนการอัพโหลดแบบ multiple อย่างไรครับ ที่ทำมันไม่เข้าเงื่อนไข ของ $size ครับ
Code (PHP)
$num = count($_FILES["fileupload"]["name"]);
for($i=0;$i<$num;$i++)
{
$size = $_FILES["fileupload"]["size"];
if($size>8388608)
{
echo "please upload < 8 MB";
}
else
{
if(trim($_FILES["fileupload"]["tmp_name"][$i]) != "")
{
$w_max = 800;
$h_max = 600;
$images = $_FILES["fileupload"]["tmp_name"][$i];
$new_images = "gallery_".date("Ymd")."_".$_FILES["fileupload"]["name"][$i];
$new_img_upload = "gallery_".date("Ymd")."_".iconv("UTF-8", "TIS-620",$_FILES["fileupload"]["name"][$i]);
$size = GetimageSize($images);
$images_orig = ImageCreateFromJPEG($images);
$w_src = ImagesX($images_orig);
$h_src = ImagesY($images_orig);
if($w_src > $w_max || $h_src > $h_max)
{
$images_fin = ImageCreateTrueColor($w_max, $h_max);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $w_max+1, $h_max+1, $w_src,$h_src);
ImageJPEG($images_fin,"../../Activity/myfile/".$new_img_upload);
ImageDestroy($images_orig);
ImageDestroy($images_fin);
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$strSQL = "INSERT INTO gallery ";
$strSQL .="(AlbumID,GalleryShot) VALUES ('".$_GET["AlbumID"]."','".$new_images."')";
$objQuery = mysql_query($strSQL);
}
else
{
move_uploaded_file($_FILES["fileupload"]["tmp_name"][$i],"../../Activity/myfile/".$new_img_upload);
echo "Copy/Upload Complete<br>";
//*** Insert Record ***//
$strSQL = "INSERT INTO gallery ";
$strSQL .="(AlbumID,GalleryShot) VALUES ('".$_GET["AlbumID"]."','".$new_images."')";
$objQuery = mysql_query($strSQL);
}
}
}
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2013-08-30 10:05:54 |
By :
angelkiller9 |
View :
779 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมทดลองอัพรูป หลายๆรูป เกิน 10MB เข้าไป มันไม่เข้าเงื่อนไขนะครับ ว่าเกิน 8MB
|
|
|
|
|
Date :
2013-08-30 10:07:40 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ซึ่งเซิฟเวอร์ กำหนด upload_max ได้ 8MB post_max 8MB เลยอยากจะบอกให้ user หากอัพไฟล์เกิน 8MB ให้เตือนว่า อัพไม่ได้ กรุณาอัพใหม่นะครับ
|
|
|
|
|
Date :
2013-08-30 10:11:59 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง echo ดูสิครับ มันขึ้นเลขเท่าไร นี่คือ code เต็ม หรือเปล่า เครื่องหมาย ปีกกา มันไม่ครบ
|
ประวัติการแก้ไข 2013-08-30 11:03:43
|
|
|
|
Date :
2013-08-30 11:00:51 |
By :
yamcrocodile |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับๆ ปีกกาไม่ครบ แต่echo ไม่ได้เหมือนเดิม echo แล้วไม่ขึ้นไรเรย
$size = $_FILES["fileupload"]["size"][$i];
echo $size;
|
|
|
|
|
Date :
2013-08-30 11:08:57 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเลือกไฟล์เดียวมันขึ้นครับ แต่เลือกหลายๆไฟล์ไม่ขึ้นอะไรเรย คือผมต้องการเลือกหลายไฟล์ แต่ให้ไฟล์ทั้งหมดมีขนาดไม่เกิน 8MB ต่อการ อัพโหลด 1 ครั้งครับ
|
ประวัติการแก้ไข 2013-08-30 11:12:42
|
|
|
|
Date :
2013-08-30 11:11:16 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รู้สึกว่าจะสลับกันมั้งค่ะ
$_FILES["fileupload"]["size"][$i]
$_FILES["fileupload"][$i]["size"]
|
|
|
|
|
Date :
2013-08-30 11:13:17 |
By :
survivor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ ขอบคุณครับ คืออ่านค่าทีละไฟล์ แล้ว นำมาบวกกันทั้งหมด จากนั้นค่อยกำหนดครับ ถ้าผลรวมเกิน 8MB ไม่ให้อัพครับ :D
|
|
|
|
|
Date :
2013-08-30 12:01:23 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|