Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > [สอบถาม] ใช้คำสั่ง move_uploaded_file หลายครั้งในหน้า page เดียวกัน



 

[สอบถาม] ใช้คำสั่ง move_uploaded_file หลายครั้งในหน้า page เดียวกัน

 



Topic : 092228



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์




สามารถทำได้หรือไม่ครับ เช่น

Code (PHP)
<?php
                         //copy รูปลงใน folder "foodpic1"
                         move_uploaded_file($pictemp1,"foodpic1/".$newfilename1);
			 // Insert รูปลง table1
			 $strSQL1="INSERT INTO food VALUES (null,'$newfilename1','$restname','$detailmain','$typefood','$price','$place',NOW())";
			 $objQuery1 = mysql_query($strSQL1) or die ("Error Query[".$strSQL1."]");

                          //copy รูปลงใน folder "foodpic2"
                          move_uploaded_file($_FILES['pic_more$i']['tmp_name'],"foodpic2/".$_FILES['pic_more$i']['name']);
			  //loop ค่าที่รับมาจาก List Menu Form
			  for($i=0;$i<=$_POST['hdnLine'];$i++){	 
			//Insert รูปลง table2
			$strSQL2 = "INSERT INTO pic_food ";
			$strSQL2 .= "(Food_Id,Picture_Food,Detail_Food) VALUES ('1','".$_FILES['pic_more$i']['name']."','". $_POST['detail_more$i']."')";
		        $objQuery2 = mysql_query($strSQL2) or die ("Error Query[".$strSQL2."]");
				  	}
?>

แต่ผมลองแบบนี้แล้วมันอัพรูปได้เฉพาะแค่ folder "foodpic1" เท่านั้นครับ มันไม่ทำคำสั่ง move_uploaded_file ที่อัพไป folder "foodpic2" ครับ ขอบคุณครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-03-11 17:17:45 By : backship View : 3498 Reply : 16
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ใช้ copy แทน move_uploaded_file ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-11 17:19:39 By : mr.win
 


 

No. 2



โพสกระทู้ ( 5,149 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ก็ในเมื่อ move ไปแล้ว มันก็ไม่เหลือสิครับผม จะ move อันที่สองไปที่ใหม่ ก็แค่ copy จากอันที่ move เมื่อกี้ ไปแทนครับ

หรือว่ายังไง เพราะโค้ดที่เอามา มันไม่ครบ ไม่เห็นฟอร์มว่า่ส่งอะไรมาเท่าใหร่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-11 17:20:02 By : deawx
 

 

No. 3



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์


ถึง mr.win
ลองใช้คำสั่ง copy ของอันที่ 2 ก็ไม่มาครับ

ถึง K.deawx
code หน้า Form ครับ ถ้าไม่เข้าใจตรงไหน ถามได้นะครับ code เยอะเกิ้น ขอบคุณครับ

Code (PHP)
<form name="frmMain" action="post_form1.php" method="post" enctype="multipart/form-data">
<table border="1" align="center" class="table table-striped">
  <tr>
    <td colspan="3" class="text-info"><font size="+1.5">รายละเอียดข้อมูลของหน้า Index</font></td>
  </tr>
  <tr>
    <td>รูปหน้า Index<input type="file" name="pic_index"  onchange="ShowPic(this)"/>
    <br />
    <img id="picview"/>
    </td>
    <td>ชื่อร้าน <input type="text" name="restname" /></td>
    <td>คำนำ <textarea cols="50" rows="5" name="detail_main"style="resize:none"></textarea></td>
  </tr>
  <tr>
  	<td>ประเภทอาหาร :<select name="type_food">
    <option value="">--เลือกประเภทอาหาร--</option>
    <option value="ร้านอาหารริมทาง">ร้านอาหารริมทาง</option>
    <option value="ร้านอาหารติดแอร์">ร้านอาหารติดแอร์</option>
    </select>
    </td>
    <td>ราคา :<input type="text" name="price" /> บาท</td>
    <td>สถานที่ :<input type="text" name="place" /></td>
  </tr>
  <tr>
    <td colspan="3" class="text-info"><font size="+1.5">รายละเอียดข้อมูลของหน้า Food Detail</font><span class="btn btn-info" style="float:right">เลือกจำนวนรูปภาพ : <select name="addpic" onchange="MM_jumpMenu('parent',this,0)">
    <?php
	for($i=1;$i<=10;$i++){
		if($_GET['Line']==$i){
			$sel = "selected";
		}else{
			$sel = "";
		}	
	?>
    <option value="<?=$_SERVER['PHP_SELF'];?>?Line=<?=$i;?>" <?=$sel;?>><?=$i;?></option>
    <?php
	}	
	?>
    </select>
    </span> 
    </td>
  </tr>
  <?php
	$line = $_GET['Line'];
	if($line==0){$line=1;}
	for($i=1;$i<=$line;$i++){
  ?>
  <tr>
    <?php
		for($a=1;$a<=$i;){
			$a++;
?>
<!-- Script โชว์รูปภาพเมื่อ browse file -->
  <script language="javascript" type="text/javascript">
 function MorePic<?=$a;?>(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();

                reader.onload = function (e) {
                    $('#picshow<?=$a;?>').attr('src', e.target.result);
                }

                reader.readAsDataURL(input.files[0]);
            }
        }		
  </script>
<?php
		} //for ของ $a
	?>
    <td>รูปที่ : <?=$i;?> <input type="file" name="pic_more<?=$i?>" id="pic_more<?=$i?>" onchange="MorePic<?=$a;?>(this)"/>
    <br />
    <img id="picshow<?=$a;?>"/>
    </td>
    <td colspan="2">คำบรรยาย <textarea cols="50" rows="5" style="resize:none" name="detail_more<?=$i?>" id="detail_more<?=$i?>"></textarea></td>
  </tr>
 <?php
	} //for ของ $i
  ?>
</table>

<center><input type="submit" name="submit" value="Submit" class="btn-large btn-warning"/></center>
<input type="hidden" name="hdnLine" value="<?=$i;?>" />
</form>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-11 17:33:51 By : backship
 


 

No. 4



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์


มีใครแนะนำได้บ้างครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 09:50:56 By : backship
 


 

No. 5



โพสกระทู้ ( 342 )
บทความ ( 2 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ใช้คำสั่ง copy ทั้ง 2 อันเลยครับ ถ้า move อันแรก อันที่ 2 ก็ copy ไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 10:00:34 By : weaned
 


 

No. 6



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์


พอใช้ copy ทั้งสองตัวขึ้น error แบบนี้ครับ

Warning: copy() [function.copy]: Filename cannot be empty in D:\xampp\htdocs\workshop\post_form1.php
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 10:16:09 By : backship
 


 

No. 7



โพสกระทู้ ( 3,847 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Twitter Facebook

ตอบความคิดเห็นที่ : 6 เขียนโดย : backship เมื่อวันที่ 2013-03-12 10:16:09
รายละเอียดของการตอบ ::
ชื่อไฟล์ไม่ถูกส่งมาอ่ะครับ เช็คดูดีๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 10:20:19 By : mangkunzo
 


 

No. 8



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

บอกว่า foodpic2 ก็จริง แต่ชื่อไฟล์คือ pic_more$i มันก็ move ไม่ได้สิครับ

Code (PHP)
<?php
                         //copy รูปลงใน folder "foodpic1"
                         move_uploaded_file($pictemp1,"foodpic1/".$newfilename1);
			 // Insert รูปลง table1
			 $strSQL1="INSERT INTO food VALUES (null,'$newfilename1','$restname','$detailmain','$typefood','$price','$place',NOW())";
			 $objQuery1 = mysql_query($strSQL1) or die ("Error Query[".$strSQL1."]");

                          //copy รูปลงใน folder "foodpic2"
                          // ***************************************
                          // $_FILES['pic_more$i']['tmp_name'] ชื่อนี้ท่านได้แต่ใดมา
                          move_uploaded_file($_FILES['pic_more$i']['tmp_name'],"foodpic2/".$_FILES['pic_more$i']['name']);
			  //loop ค่าที่รับมาจาก List Menu Form
			  for($i=0;$i<=$_POST['hdnLine'];$i++){	 
			//Insert รูปลง table2
			$strSQL2 = "INSERT INTO pic_food ";
			$strSQL2 .= "(Food_Id,Picture_Food,Detail_Food) VALUES ('1','".$_FILES['pic_more$i']['name']."','". $_POST['detail_more$i']."')";
		        $objQuery2 = mysql_query($strSQL2) or die ("Error Query[".$strSQL2."]");
				  	}
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 10:43:30 By : cookiephp
 


 

No. 9



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์


K.แมวของคุกกี้ คือผมไม่เข้าใจคับว่าหมายถึงอะไร คือผมจะอัพไฟล์รูปภาพจากที่ folder มาไว้ที่ folder "foodpic2" แล้วต้องเปลี่ยนแปลงตรงไหนเหรอครับ
ส่วนที่ถามคือ $_FILES['pic_more$i']['tmp_name'] มาจากไฟล์ temp ที่พักไว้ก่อน move ไฟล์เข้า folder อ่ะครับ รับมาจาก form ของ type ="file" อีกที หรือผมเข้าใจผิดไปหรือป่าวครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 11:35:58 By : backship
 


 

No. 10



โพสกระทู้ ( 1,819 )
บทความ ( 20 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

คือคุณสั่งให้ตั้งชื่อ <input> ตามค่่าของตัวแปร $i ใช่ไหมครับ ตอนสร้างฟอร์มน่ะ

<input type="file" name="pic_more<?=$i?>" id="pic_more<?=$i?>" onchange="MorePic<?=$a;?>(this)"/>

ซึ่งถ้าตัวแปร $i มีค่า 2 ก็จะได้ <input> ชื่อ pic_more2

แต่ตอนคุณอ่านค่าจาก $_FILES คุณใช้ syntax นี้

$_FILES['pic_more$i']['tmp_name']

ซึ่งจะหมายถึง <input> ที่ชื่อว่า pic_more$i

เก็ตไหมครับ

แต่ถ้าคุณใช้แบบนี้

$_FILES["pic_more$i"]['tmp_name']

นี่ล่ะครับ ถึงจะหมายถึง <input> ที่ชื่อว่า pic_more และตามด้วยค่าของตัวแปร $i (สังเกต ' กับ ")

และต่อให้คุณเปลี่ยนจาก ' เป็น " ก็ยังไม่รู้ว่ามันจะหมายถึง pic_more2 อย่างที่คุณต้องการหรือเปล่า
เพราะไม่รู้ว่า ณ จุดนั้นในโค้ดที่คุณยกมา ค่าของตัวแปร $i มันคืออะไร (มีตัวตนหรือเปล่าก็ยังไม่รู้ เพราะคุณยกมาแค่นั้น)

ถ้าอ่านคำตอบผมแล้วไม่เข้าใจ ขอให้ลองไปศึกษาพื้นฐาน PHP อีกหน่อยนะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 12:02:25 By : cookiephp
 


 

No. 11



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์


ผมผิดที่ใช้ตัว ' และ " ไม่ถูกเองครับ ขอบคุณครับ


ประวัติการแก้ไข
2013-03-12 14:19:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 13:40:00 By : backship
 


 

No. 12



โพสกระทู้ ( 3,750 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

เขียนเป็นฟังก์ชั่นครับ ลด source code ไปได้เยอะพอสมควร

Code (PHP)
function MultiUploadimage($FileUpload,$tmps,$oldpic){
$path = "../data";
$rand = substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ23456789'),0,15);
if(trim($tmps) != ""){
@unlink($path."/".$oldpic);
$images = $FileUpload;
$tmp = $tmps;
$new_images = $rand.'-'.$FileUpload;
move_uploaded_file($tmp,$path."/".$new_images);
}else{
$images = $oldpic;
$new_images = $images;
}	
return $new_images;
}



วิธีใช้งาน
<input type="file" name="FileUpload1">
<input type="file" name="FileUpload2">
<input type="file" name="FileUpload3">
<input type="file" name="FileUpload4">

หรือจะทำเป็นแบบ array() ก็ได้
<input type="file" name="FileUpload[]">

Code (PHP)
					for($i=0;$i<count($_POST["name"]);$i++)
					{
						if($_POST["name"][$i]!= "")
						{
							$FileUpload[$i] = trim($_FILES["FileUpload"]["name"][$i]);
							$tmps[$i] = $_FILES["FileUpload"]["tmp_name"][$i];
							$oldpic[$i] = '';
								
							$newimages = MultiUploadimage($FileUpload[$i],$tmps[$i],$oldpic[$i]);
							mysql_query("insert into gallery (image) values('".$newimages."')") or die (mysql_error());
							
						}
					}



ประมาณนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-12 14:23:43 By : Dragons_first
 


 

No. 13



โพสกระทู้ ( 262 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณ K.อ้นคุง มากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-13 08:40:25 By : backship
 


 

No. 14

Guest


<meta charset="UTF-8">
<?php
//1. เชื่อมต่อ database:
include('connectdb.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
$fileupload = $_REQUEST['fileupload']; //รับค่าไฟล์จากฟอร์ม
$date = date("d-m-Y"); //กำหนดวันที่และเวลา
//เพิ่มไฟล์
$upload=$_FILES['fileupload'];
if($upload <> '') { //not select file
//โฟลเดอร์ที่จะ upload file เข้าไป
$path="fileupload/";

//เอาชื่อไฟล์ที่มีอักขระแปลกๆออก
$remove_these = array(' ','`','"','\'','\\','/','_');
$newname = str_replace($remove_these, '', $_FILES['fileupload']['name']);

//ตั้งชื่อไฟล์ใหม่โดยเอาเวลาไว้หน้าชื่อไฟล์เดิม
$newname = time().'-'.$newname;
$path_copy=$path.$newname;
$path_link="fileupload/".$newname;

//คัดลอกไฟล์ไปเก็บที่เว็บเซริ์ฟเวอร์
move_uploaded_file($_FILES['fileupload']['tmp_name'],$path_copy);
}
// เพิ่มไฟล์เข้าไปในตาราง uploadfile

$sql="INSERT INTO uploadfile ('fileupload') VALUES ('$newname');

$result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error());

mysqli_close($con);
// javascript แสดงการ upload file

if($result){
echo "<script type='text/javascript'>";
echo "alert('Upload File Succesfuly');";
echo "window.location = 'uploadfile.php'; ";
echo "</script>";
}
else{
echo "<script type='text/javascript'>";
echo "alert('Error back to upload again');";
echo "</script>";
}
?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-05 14:37:12 By : ทดสอบ
 


 

No. 15

Guest


ไม่ลงโฟเดอร์ แะไม่เข้าฐานข้อมูล ขึ้น error หน้านี้ไม่ทำงาน ค่ะ
<meta charset="UTF-8">
<?php
//1. เชื่อมต่อ database:
include('connectdb.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
$fileupload = $_REQUEST['fileupload']; //รับค่าไฟล์จากฟอร์ม
$date = date("d-m-Y"); //กำหนดวันที่และเวลา
//เพิ่มไฟล์
$upload=$_FILES['fileupload'];
if($upload <> '') { //not select file
//โฟลเดอร์ที่จะ upload file เข้าไป
$path="fileupload/";

//เอาชื่อไฟล์ที่มีอักขระแปลกๆออก
$remove_these = array(' ','`','"','\'','\\','/','_');
$newname = str_replace($remove_these, '', $_FILES['fileupload']['name']);

//ตั้งชื่อไฟล์ใหม่โดยเอาเวลาไว้หน้าชื่อไฟล์เดิม
$newname = time().'-'.$newname;
$path_copy=$path.$newname;
$path_link="fileupload/".$newname;

//คัดลอกไฟล์ไปเก็บที่เว็บเซริ์ฟเวอร์
move_uploaded_file($_FILES['fileupload']['tmp_name'],$path_copy);
}
// เพิ่มไฟล์เข้าไปในตาราง uploadfile

$sql="INSERT INTO uploadfile ('fileupload') VALUES ('$newname');

$result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error());

mysqli_close($con);
// javascript แสดงการ upload file

if($result){
echo "<script type='text/javascript'>";
echo "alert('Upload File Succesfuly');";
echo "window.location = 'uploadfile.php'; ";
echo "</script>";
}
else{
echo "<script type='text/javascript'>";
echo "alert('Error back to upload again');";
echo "</script>";
}
?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-05 14:38:41 By : ทดสอบ
 


 

No. 16



โพสกระทู้ ( 1,458 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 15 เขียนโดย : ทดสอบ เมื่อวันที่ 2020-06-05 14:38:41
รายละเอียดของการตอบ ::
สอบไล่ไม่มีทดเจ็บ

มี error อะไร ต้อง นำมาแสดงด้วย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-06-07 11:59:16 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [สอบถาม] ใช้คำสั่ง move_uploaded_file หลายครั้งในหน้า page เดียวกัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

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

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่