อับโหลดรูป
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา อับโหลดรูป
อับโหลดรูป
อ้างถึง ข้อความนี้ https://www.ninenik.com/Upload_รูปภาพ_หรือไฟล์ด้วย_ฟังก์ชั่น_ใช้ง่าย-25.html
ถ้าผมต้องการอับหลายรูปละครับ ต้องทำไง

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
ถ้าอัพโหลด หลายๆ รูปพร้อมกัน ฟังก์ชันตัวเดิม จะใช้งานไม่ได้ เพราะไฟล์ที่อัพโหลด ชื่อจะซ้ำกัน ทำให้อัพโหลดไฟล์ได้เพียงไฟล์ ตัวสุดท้าย แก้ปัญหา ตามโค้ดด้านล่าง โดยเพิ่ม และปรับฟังก์ชัน
ดังนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php function upimg( $img , $imglocate ){ static $i_file =0; // ตัวแปร นับไฟล์ที่อัพโหลด if ( $img [ 'name' ]!= '' ){ $i_file ++; // เพิ่มค่า นับไฟล์ที่อัพโหลด $fileupload1 = $img [ 'tmp_name' ]; $g_img = explode ( "." , $img [ 'name' ]); $file_up =time(). "_" . $i_file . "." . $g_img [1]; // เพิ่ม ตัวนับไฟล์ที่อัพโหลดในชื่อไฟล์ เป็น xxxx_1 , xxxx_2 เป็นต้น if ( $fileupload1 ){ $array_last = explode ( "." , $file_up ); $c = count ( $array_last )-1; $lastname = strtolower ( $array_last [ $c ]); @ copy ( $fileupload1 , $imglocate . $file_up ); } } return $file_up ; } ?> |
การใช้งาน
1 2 3 4 | <?php $my_filename =upimg( $_FILES [ 'file' ], "uptemp/" ); $my_filename1 =upimg( $_FILES [ 'file1' ], "uptemp/" ); ?> |
โค้ดตัวอย่างการนำไปใช้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php function upimg( $img , $imglocate ){ static $i_file =0; // ตัวแปร นับไฟล์ที่อัพโหลด if ( $img [ 'name' ]!= '' ){ $i_file ++; // เพิ่มค่า นับไฟล์ที่อัพโหลด $fileupload1 = $img [ 'tmp_name' ]; $g_img = explode ( "." , $img [ 'name' ]); $file_up =time(). "_" . $i_file . "." . $g_img [1]; // เพิ่ม ตัวนับไฟล์ที่อัพโหลดในชื่อไฟล์ เป็น xxxx_1 , xxxx_2 เป็นต้น if ( $fileupload1 ){ $array_last = explode ( "." , $file_up ); $c = count ( $array_last )-1; $lastname = strtolower ( $array_last [ $c ]); @ copy ( $fileupload1 , $imglocate . $file_up ); } } return $file_up ; } ?> <form action= "" method= "post" enctype= "multipart/form-data" name= "form1" id= "form1" > <input type= "file" name= "file" /> <br /> <input type= "file" name= "file1" /> <br /> <input type= "submit" name= "Submit" value= "Submit" /> </form> <?php if ( $_POST [ 'Submit' ]){ if ( $_FILES [ 'file' ][ 'name' ]!= "" ){ $my_filename =upimg( $_FILES [ 'file' ], "uptemp/" ); $my_filename1 =upimg( $_FILES [ 'file1' ], "uptemp/" ); echo $my_filename ; // แสดงชื่อไฟล์ที่อัพโหลด echo "<br>" ; echo $my_filename1 ; // แสดงชื่อไฟล์ที่อัพโหลด } } ?> |

ความคิดเห็นที่
2
ถามอีก แล้วชื่อไฟล์ จะมีโอกาศซ้ำกันหรือเปล่าครับ

ความคิดเห็นที่
3
ไม่ซ้ำกัน เพราะกำหนดด้วย timestamp หากอัพโหลดพร้อมกัน ถึง timestamp จะเท่ากัน แต่ชื่อไฟล์ ก็ยังถูกแบ่งด้วย
ลำดับไฟล์ที่อัพโหลด โดยที่มีการเพิ่ม _1 ,_2.... _x ในชื่อไฟล์ที่อัพโหลด จึงไม่ซ้ำกัน

ขอบคุณทุกการสนับสนุน
![]()