อับโหลดรูป

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

อับโหลดรูป

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

 

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



Mrmayom 02-06-2010 20:42:57

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

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


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


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

 ความคิดเห็นที่ 1

ถ้าอัพโหลด หลายๆ รูปพร้อมกัน ฟังก์ชันตัวเดิม จะใช้งานไม่ได้ เพราะไฟล์ที่อัพโหลด ชื่อจะซ้ำกัน ทำให้อัพโหลดไฟล์ได้เพียงไฟล์ ตัวสุดท้าย แก้ปัญหา ตามโค้ดด้านล่าง โดยเพิ่ม และปรับฟังก์ชัน
ดังนี้
 

<?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;
}
?>

การใช้งาน
 

<?php
$my_filename=upimg($_FILES['file'],"uptemp/");
$my_filename1=upimg($_FILES['file1'],"uptemp/");
?>

โค้ดตัวอย่างการนำไปใช้
 

<?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) ขอบคุณครับ