เช็คอัพโหลดรูปภาพแบบ array ครับ

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

เช็คอัพโหลดรูปภาพแบบ array ครับ

 พอดีทำการอัพโหลดรูปภาพ มันอัพโหลดได้แล้วครับแต่ปัญหาคือว่า

ตอนอัพโหลดโหลดภาพแล้วมันตรวจสอบเจอภาพที่อัพโหลดไม่ได้ เช่น

ภาพที่1 ไฟล์ .jpg

ภาพที่2 ไฟล์ .gif

ภาพที่3 ไฟล์ .swf << ภาพที่ 3 มันไปตรงเงื่อนไขเช็คนามสกุลที่ไม่รองรับพอ

ภาพที่ 3 มันตรงเงื่อนไขที่เขียนไว้ครับ มันแจ้งเตือนแล้วแต่ปัญหาคือว่า มันแจ้งเตือนให้ แต่ภาพที่ 1 กับ 2 มันดันอัพโหลดให้เฉยเลย

คือว่าอยากให้มันตรวจสอบก่อนว่าไฟล์ภาพเข้าตรงเงื่อนไขหมดหรือเปล่าครับค่อยอัพโหลดทีเดียวอ่ะครับ

นี้ครับโค้ดของผม

for($i=0;$i<=count($_FILES['image']['name']);$i++){
if($_FILES['image']['name'][0]==""){
echo"<script>alert('กำหนดรูปภาพด้วย');window.parent.Er();</script>";
exit();
}
elseif($_FILES['image']['type'][$i]!="image/jpeg" && $_FILES['image']['type'][$i]!="image/pjpeg" && $_FILES['image']['type'][$i]!="image/jpg" && $_FILES['image']['type'][$i]!="image/gif"){
echo"<script>alert('ไฟล์ภาพไม่อนุญาติ');window.parent.Er();</script>";
exit();
}
else{
if($_FILES['image']['name'][$i]!=""){
$nameimage="Gallery_".date("YdmHis").$i.".jpg";
$ok=mysql_query("insert into gallery values('','$nameimage')");
if($ok){
move_uploaded_file($_FILES['image']['tmp_name'][$i],"../images/gallery/$nameimage");
$mss="อัพโหลดรูปภาพเรียบร้อย";
}else{
$mss="ไม่สามารถอัพโหลดรูปภาพได้";
}

}
}
}
echo"<script>alert('$mss');window.parent.SentOK();</script>";
exit();

พี่นิคช่วยชี้ทางให้หน่อยครับผมตรวจสอบหลายๆวิธีแล้วก็ยังไม่ได้



Cpuhost 115.87.15.xxx 17-09-2010 18:26:34

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

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


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


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

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

เอาแนวทางคร่าวไปลองดู

<?php
$ok_up=0;
for($i=0;$i<=count($_FILES['image']['name']);$i++){
	if($_FILES['image']['name'][$i]==""){
		echo"<script>alert('กำหนดรูปภาพด้วย');window.parent.Er();</script>";
		$ok_up=0;
		break;
	}elseif($_FILES['image']['type'][$i]!="image/jpeg" && $_FILES['image']['type'][$i]!="image/pjpeg" && $_FILES['image']['type'][$i]!="image/jpg" && $_FILES['image']['type'][$i]!="image/gif"){
		echo"<script>alert('ไฟล์ภาพไม่อนุญาติ');window.parent.Er();</script>";
		$ok_up=0;
		break;
	}else{
		$ok_up=1;
	}
}
if($ok_up==1){
	for($i=0;$i<=count($_FILES['image']['name']);$i++){
		if($_FILES['image']['name'][$i]!=""){
			$nameimage="Gallery_".date("YdmHis").$i.".jpg";
			if(move_uploaded_file($_FILES['image']['tmp_name'][$i],"../images/gallery/$nameimage")){
				$ok=mysql_query("insert into gallery values('','$nameimage')");
				$mss="อัพโหลดรูปภาพเรียบร้อย";
			}else{
				$mss="ไม่สามารถอัพโหลดรูปภาพได้";
			}		
		}	
	}
	echo"<script>alert('$mss');window.parent.SentOK();</script>";
	exit();	
}

?>

 



Ninenik 124.120.17.xxx 17-09-2010
 ความคิดเห็นที่ 2

 ขอบคุณครับ เข้าใจละ



cpuhost 27.130.83.xxx 18-09-2010 09:47
 ความคิดเห็นที่ 3

 พี่นิกตรงตรวจสอบนามสกุลไฟล์มันทำงานเพี้ยน

ผมลองอัพโหลดไฟล์พวก .jpg .gif ทั้งๆที่มันไม่ได้ตรงตามเงื่อนไข มันก็ยังเข้าเงื่อนไขว่า ไฟล์ภาพไม่อนุญาติ อ่ะครับ

 



cpuhost 124.121.152.xxx 18-09-2010 14:55
 ความคิดเห็นที่ 4
<?php
$ok_pass=1;
for($i=0;$i<count($_FILES['image']['type']);$i++){
	$pattern='/^image/';
	if(!preg_match($pattern,$_FILES['image']['type'][$i])){
		$ok_pass=0;
		break;
	}
	if($_FILES['image']['name'][$i]==""){
		$ok_pass=0;
		break;		
	}
}
if($ok_pass==1){
	echo "Yes<br>";
	print_r($_FILES['image']);
}else{
	echo "No<br>";
	print_r($_FILES['image']);	
}
?>

 



Ninenik 124.122.67.xxx 19-09-2010
1






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