Tue 2 May 2006 11:43:26
สวัดดีค่ะคุณ administator เห็นคำตอบที่คุณตอบเป็นคำตอบที่รวดเร็วและเข้าใจดีค่ะ อยากถามเกี่ยวกับการ upload รูปภาพแบบกำหนดขนาดไม่เกิน 100 kb จำนวน 6 รูปภาพในหน้าฟอร์มเดียวพอจะมีวิธีทำอย่างไรบ้างค่ะ
โดยฟอร์มตัวอย่างของผมเป็น
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="userfile1">
<input type="file" name="userfile2">
<input type="file" name="userfile3">
<input type="file" name="userfile4">
<input type="file" name="userfile5">
<input type="file" name="userfile6">
<input type="submit" value="upload">
</form>
upload.php
<?
if(isset($_FILES["userfile1"]["size"]) && $_FILES["userfile1"]["size"] > 0){
if($_FILES["userfile1"]["size"] > 100000){
echo "Error : File \"".$_FILES["userfile1"]["name"]."\" file size exceed";
}else{
//uploadfile
}
}
if(isset($_FILES["userfile2"]["size"]) && $_FILES["userfile2"]["size"] > 0){
if($_FILES["userfile2"]["size"] > 100000){
echo "Error : File \"".$_FILES["userfile2"]["name"]."\" file size exceed";
}else{
//uploadfile
}
}
if(isset($_FILES["userfile3"]["size"]) && $_FILES["userfile3"]["size"] > 0){
if($_FILES["userfile3"]["size"] > 100000){
echo "Error : File \"".$_FILES["userfile3"]["name"]."\" file size exceed";
}else{
//uploadfile
}
}
....
if(isset($_FILES["userfile6"]["size"]) && $_FILES["userfile6"]["size"] > 0){
if($_FILES["userfile6"]["size"] > 100000){
echo "Error : File \"".$_FILES["userfile6"]["name"]."\" file size exceed";
}else{
//uploadfile
}
}
?>
ประมาณนี้ครับ
Tue 2 May 2006 12:11:35
แล้วถ้ากำหนดชนิดไฟล์ด้วยละค่ะ เช่น jpeg,gif,png ต้องแทรก ไว้ตรงไหนค่ะ
Tue 2 May 2006 12:17:08
เพื่อให้ภาพลงใน folder ที่รองรับภาพนะค่ะ แต่ในdb มีเพียงชื่อภาพเท่านั้นนะค่ะ ภาพจริงๆ จะเก็บไว้ใน folder
การหานามสกุลของไฟล์
<?
$exp = explode('.', $_FILES["userfile1"]["name"]);
$ext = $exp[count($exp) - 1];?>
Wed 3 May 2006 11:31:46
upload ภาพโดยมีจำนวน 6 รูปนะค่ะ แล้วมีการตรวจขนาดของภาพ นามสกุลด้วย ใช้วิธีนี้อ้างอิงเคยทำได้นะค่ะ แต่พอมีมากกว่าที่เคยทำมันทำไม่ได้นะค่ะ ให้ช่วยดูหน่อยค่ะมันผิดตรงไหน
$picwo1=$_FILES['picwo1']['tmp_name'];
$picwo1_name=$_FILES['picwo1']['name'];
$picwo1_size=$_FILES['picwo1']['size'];
$picwo1_type=$_FILES['picwo1']['type'];
$detail=$_POST['detail'];
if (!$picwo1) {
echo "<h3>ERROR : ไม่สามารถอัพโหลดได้</h3>";
} else {
$array_last=explode(".",$picwo1_name);
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]) ;
if ($lastname=="gif" or $lastname=="jpg" or $lastname=="jpeg") {
if($picwo1_name<>"") {
$picwomen1=$picwo1_name;
if(is_file("picwomen1/"."LA".$txtNo.".".$picwomen1))
{
unlink("picwomen1/"."LA".$txtNo.".".$picwomen1);
}
copy($picwo1,"picwomen1/"."LA".$txtNo.".".$picwomen1);
} //end if */
} else {
echo "<h3>ERROR : นามสกุลต้อง.gif , *.jpg , *.jpeg เท่านั้น</h3>";
}
unlink($picwo1);
}
Thu 4 May 2006 15:06:23
ทำแล้วก๊าบยังไงก็ไม่เกิดอะไรขึ้นมันฟ้องว่า ERROR : ไม่สามารถอัพโหลดได้ ตอน insert ใช้ตัว pic1 เป็นตัวที่เก็บในdb ส่วนตัวที่ใช้เป็น values ชื่อว่า '".$picwo1_name."' ไม่เกิดอะไรขี้นเลยค่ะ ปวดหัวจังทำมาทั้งวันแล้ว ขอคำแนะนำหน่อยค่ะ
จากนั้นหลังจาก submit ในไฟล์ upload นั้นลองใส่
<?
print_r($_FILES);
?>
เพื่อตรวจสอบว่ามีการ post ไฟล์มาหรือไม่ครับ
Fri 5 May 2006 10:38:35
เจอแล้วค่ะ ลืมตัวนี้นี่เอง enctype="multipart/form-data" ขอบคุณค่ะ

















