|
|
|
ต้องการ upload fileต่างๆ แบบ multiple แต่เวลาแสดงผลและลงฐานข้อมูลกลับขึ้นแค่ไฟล์เดียว |
|
|
|
|
|
|
|
ตอนนี้มีปัญหาอัพโหลดไฟล์แบบ multiple
แต่เมื่อกดบันทึกแล้วไฟล์อัพโหลดลงฐานข้อมูลและแสดงผลแค่ไฟล์เดียวแต่ตอนนี้ลองแก้แล้วแต่ก็ยังเหมือนเดิมค่ะ อันนี้เป็นโค้ดบางส่วน
Code (PHP)
<? include_once "connDB.php"; ?>
<?php
if($submit=="OK"){
if ($_FILES['file']['name']!= '') {
$path='file_upload/';
$file=$_FILES['file']['name'];
$file_type= strrchr( $file , '.' );
$pic_name='file_'.$doc_id.strtoupper($file_type);
copy ($_FILES['file']['tmp_name'],$path.$pic_name);
$file=$pic_name;
}
if($id1==""){
$sql="INSERT INTO document set doc_id='".$doc_id."',doc_name='".$doc_name."',doc_detail='".$doc_detail."',doc_date='".$doc_date."',file='".$file."'";
}else{
$sql="UPDATE document set doc_name='".$doc_name."',doc_detail='".$doc_detail."',doc_date='".$doc_date."',file='".$file."' WHERE doc_id='".$id1."'" ;
}
mysql_query($sql);
}
if ($submit=="DEL"){
$sql="select * from document where doc_id='".$id1."'";
$rstTemp=mysql_query($sql);
if($file_tmp!='') unlink('file_upload/'.$file_tmp);
$sql="delete from document where doc_id='".$id1."'";
mysql_query($sql);
}
?>
Code (PHP)
<? if($submit=="Add"){
$new_id =mysql_result(mysql_query("Select Max(doc_id)+1 as MaxID from document"),0,"MaxID");
if($new_id==''){
$doc_id="001";
}else{
$doc_id=sprintf("%03d",$new_id);//ถ้าไม่ใช่ค่าว่าง
}
?>
<form action="document.php?submit=OK&show=OK&id1=" method="post"onSubmit="return Check_txt()" enctype='multipart/form-data'>
<input type="hidden" name="doc_id" value="<?=$doc_id?>" >
<table width="98%">
<tr>
<td width='30%' align='right'>เลขที่เอกสาร : </td>
<td width='70%'><input name='doc_id' id='doc_id' value="<?=$doc_id?>" type='text' size='50' > * </td>
</tr>
<tr>
<td width='30%' align='right'>ชื่อเอกสาร : </td>
<td width='70%'><input name='doc_name' id='doc_name' type='text' size='50'> * </td>
</tr>
<tr>
<td width='30%' align='right'>รายละเอียด : </td>
<td width='70%'><textarea name='doc_detail' cols='50' rows='4' id='doc_detail'></textarea></td>
</tr>
<tr>
<td width='30%' align='right'>วันที่ : </td>
<td width='70%'><input name='doc_date' id='doc_date' class='datepicker'> * </td>
</tr>
<tr>
<td width='30%' align='right'>เอกสาร : </td>
<td width='70%'><input type='file' name='file' id='file' multiple> Select a File. * </td>
</tr>
<tr height='50'>
<td></td>
<td align='left' valign='middle'>
<input type='submit' name='Submit' value=' บันทึก '>
<input type='reset' name='Submit2' value='ล้างข้อมูล'>
<input type='button' name='Submit222' value=' ยกเลิก ' onClick="document.location.href='document.php?show=OK'"></td>
</tr>
</table>
</form>
<? }?>
หน้าแสดงผลไฟล์
หน้า upload
ฐานข้อมูล
หลังจาก upload
Tag : PHP, HTML/CSS, JavaScript, jQuery
|
ประวัติการแก้ไข 2016-09-14 14:09:56 2016-09-14 14:14:09 2016-09-14 14:43:13 2016-09-14 14:43:14
|
|
|
|
|
Date :
2016-09-14 14:07:07 |
By :
jeerawan |
View :
2110 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรงคำสั่ง update อ่ะครับลองเปลี่ยน $sql เป็น $sql2 ดูครับ มันน่าจะส่งค่า $sql แรกไปพอเจออีกตัวมันเลยไม่วิ่งไปให้
|
|
|
|
|
Date :
2016-09-14 14:19:57 |
By :
stepartz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนแล้วค่ะไฟล์ไม่ขึ้นเลย
|
ประวัติการแก้ไข 2016-09-14 14:30:29
|
|
|
|
Date :
2016-09-14 14:25:39 |
By :
jeerawan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type="file" name="file[]" multiple>
แล้วก็ทดลองทำการ move_uploaded_file() ให้สำเร็จเสียก่อน ให้เห็นว่าทำงานได้เสียก่อน ก่อนที่จะไปทำขั้นอื่นๆอย่างการเอาเข้าฐานข้อมูล
แล้วการอัพโหลดเขาให้ใช้ move_uploaded_file() นะครับ ไม่ใช่ copy() ไปลอกตัวอย่างผิดๆมาจากไหนอีกแล้ว
|
|
|
|
|
Date :
2016-09-14 14:50:44 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$expFile = explode('.', $_FILES["fileUpload"]["name"]);
$fileType = $expFile[count($expFile)-1];
$newName = date('YmdHis').'.'.$fileType;
if(move_uploaded_file($_FILES["fileUpload"]["tmp_name"],"myfile/".$newName)) // Upload/Copy
{
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","plan","Plan@5255") or die("Error Connect to Database");
$objDB = mysql_select_db("work",$objConnect);
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$strSQL = "INSERT INTO `work`.`tag_work_bu_file_pic` ";
$strSQL .="(`tag_file_bu_details`,`tag_file_bu_name`,`tag_bu_id`,`last_update`) VALUES ('".$_REQUEST["tag_file_bu_details"]."','".$newName."','".$_REQUEST["tag_bu_id"]."',NOW())";
$objQuery = mysql_query($strSQL);
if($objQuery){
date_default_timezone_set('Asia/Bangkok');
$time = @date("d/m/Y H:i:s");
file_put_contents('./assets/log/log_file.txt', $username."|| insert('รูปภาพงวดงาน') |insert(id:".$_REQUEST['tag_bu_id'].",ชื่อรูปภาพ:".$_REQUEST['tag_file_bu_details'].",รูปภาพ:".$newName.")|".$time.PHP_EOL, FILE_APPEND);
echo "<script>alert('เพิ่มไฟล์รูปภาพเรียบร้อย');window.location=\"upload_gallery_2.php?tag_bu_id=$_REQUEST[tag_bu_id]\";</script>";
} else {
echo 'ไม่สามารถเพิ่มไฟล์รูปภาพได้!!!!!!!';
}
}
?>
ที่ผมใช้
|
|
|
|
|
Date :
2016-09-14 14:58:50 |
By :
stepartz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ยังทำไมไ่ด้ค่ะ งงๆและสับสน
|
|
|
|
|
Date :
2016-09-14 16:03:53 |
By :
jeerawan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สร้างหน้า php เปล่าๆขึ้นมาหน้านึง
สร้าง form + input file แค่อันเดียวพอไม่ต้องมีอย่างอื่น
เอา input file อย่างที่ให้ตัวอย่างไป
form action ส่งค่าไปหน้า php เปล่าๆอีกหน้า
หน้ารับค่า form ให้ print_r($_FILES); แล้วดูว่าค่ามันออกมาเป็นอะไร
คุณต้องเริ่มทำความเข้าใจจากตรงนี้ก่อน ว่า array มันเป็นแบบไหน แล้วให้ foreach loop array อันนั้นเขียนทำการ move_uploaded_file ต่อไป
เอาแค่ตรงนี้ให้ได้ก่อน เพื่อให้เข้าใจ เป็นการทำตัวอย่างทดสอบว่ามันทำงานได้จริง จากนั้นค่อยก๊อปโค้ดไปใส่ในงานจริง
|
|
|
|
|
Date :
2016-09-15 07:31:16 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|