อับโหลดรูป

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา อับโหลดรูป

อับโหลดรูป

อ้างถึง ข้อความนี้  https://www.ninenik.com/Upload_รูปภาพ_หรือไฟล์ด้วย_ฟังก์ชั่น_ใช้ง่าย-25.html

 

ถ้าผมต้องการอับหลายรูปละครับ ต้องทำไง



Mrmayom 02-06-2010 20:42:57

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 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; // แสดงชื่อไฟล์ที่อัพโหลด
        }
    }
?>

 



ninenik 02-06-2010
 ความคิดเห็นที่ 2

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



mrmayom 04-06-2010 13:47
 ความคิดเห็นที่ 3

ไม่ซ้ำกัน เพราะกำหนดด้วย timestamp หากอัพโหลดพร้อมกัน ถึง timestamp จะเท่ากัน แต่ชื่อไฟล์ ก็ยังถูกแบ่งด้วย

ลำดับไฟล์ที่อัพโหลด โดยที่มีการเพิ่ม _1 ,_2....  _x ในชื่อไฟล์ที่อัพโหลด จึงไม่ซ้ำกัน



ninenik 04-06-2010
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ