PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum


มีปัญเกี่ยวกับการ Upload ตอนบันทึกลงฐาน

มีปัญเกี่ยวกับการ Upload ตอนบันทึกลงฐาน
ผมใช้ฟอร์มแบบ multiple="multiple"

<input class="form-control css-require" type="file" name="fileup" multiple="multiple">

ส่วนอันนี้คือฟอร์มบันทึก คือผมต้องการที่จะอัพโหลดไฟล์หลายๆไฟล์ 
แต่ไม่รู้ว่าต้องทำยังไงลองโค้ดที่หามาแต่ติด Error Save [".$strSQL."] อะครับ

<?php
include('connect.php');
$folder = "../fileup/";
$temp = explode(".", $_FILES["fileup"]["name"]);
$newfilename = round(microtime(true)).'.'. end($temp);
$db_path ="$folder".$newfilename  ;
$listtype = array(
'.doc'=>'application/msword',
'.docx'=>'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'.rtf'=>'application/rtf',
'.pdf'=>'application/pdf'); 
if ( is_uploaded_file( $_FILES['fileup']['tmp_name'] ) )
{
if($key = array_search($_FILES['fileup']['type'],$listtype))
	{		
	if (move_uploaded_file($_FILES['fileup']['tmp_name'],"$folder".$newfilename))
		{

$strSQL = "INSERT INTO sick ";
$strSQL .="(`id`,`id_em`,`day_sick`,`name`,`sick_ra`,`stop_day`,`fileup`) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["id"]."','".$_POST["id_em"]."','".$_POST["day_sick"]."' ";
$strSQL .=",'".$_POST["name"]."','".$_POST["sick_ra"]."','".$_POST["stop_day"]."','$db_path') ";
$objQuery = mysql_query($strSQL);
		}
	}
}
if($objQuery)
{
	echo '<meta http-equiv="refresh" content="0;URL=../sSearch.php">';
}
else
{
	echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);

?>


โดย:  Manit500 IP: 118.173.92.xxx วันที่: 19-03-2017 เวลา: 18:47:04

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

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


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


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 1

แต่ถ้าอัพไฟล์เดียว ก็ใช้ได้ปกติครับ แต่พอหลายๆไฟล์ทำไม่ได้

ผมเลยงงว่าผมต้องแก้ตรงไหนบ้าง



 



โดย:  Manit500 IP: 118.173.92.xxx วันที่: 19-03-2017 เวลา: 18:49:34
 ความคิดเห็นที่ 2
เอาตัวอย่างโค้ดนี้ไปดูเป็นแนวทาง

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Document</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
     integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <style type="text/css">
        .drop-area{
          width:100px; height:25px;
          border: 1px solid #999; text-align: center;
          padding:10px; cursor:pointer;
        }
        #thumbnail img{width:100px;height:100px;margin:5px;}
        canvas{border:1px solid red;}    
    </style>
</head>
<body>
 
    <br>  
    <div style="margin:auto;width:80%;">  
        <h3> บันทึกข้อมูล</h3>   
        <form class="form" id="myFrom" method="post" action=""  role="form" enctype="multipart/form-data">    
            <div class="form-group">  
               <lable class="control-label">Name : </lable>  
                <input type="text" autocomplete="off" class="form-control" name="name">  
            </div>  
            <div class="form-group">  
               <lable class="control-label">Picture : </lable>  
            <div id="upload" class="btn btn-info">
               Upload File
            </div>
            <div id="thumbnail"></div>               
            </div>  
            <button type="submit"  class="btn btn-primary">เพิ่มข้อมูล</button>             
        </form>  
        <br>  
         
<br style="clear:both;">
<br>
<?php
// มีการเลือกไฟล์สำหรับอัพโหลดอย่างน้อย 1 ไฟล์
if(isset($_FILES['file_upload']['name']) && implode("",$_FILES['file_upload']['name'])!=""){
    $uploads_dir = 'uploads'; // โฟลเดอร์สำหรับเก็บไฟล์
    $totalFile = count($_FILES['file_upload']['name']); // จำนวน input file ทั้งหมด
    for($i = 0; $i < $totalFile; $i++){ // วนลูปจัดการไฟล์แต่ละไฟล์
            $tmpFile = $_FILES['file_upload']['tmp_name'][$i];  
            $fileName = $_FILES['file_upload']['name'][$i];  // เก็บชื่อไฟล์
            if($fileName!=""){
                    $info = pathinfo($fileName);
                    echo "<pre>";
                    print_r($info);         // ข้อมูลไฟล์
                    echo "</pre>";            
                    $ext = $info['extension']; // เก็บค่านามสกุลไฟล์
                    $setFileName = time()."_".$i; // กำหนดชื่อไฟล์ใหม่
                    $fileName_new = $setFileName.".".$ext;          
                    echo $fileName." --  ".$fileName_new."<br>"; // ชื่อไฟล์ และชื่อไฟล์ใหม่
                    if(is_dir($uploads_dir)){
                        if(move_uploaded_file($tmpFile, $uploads_dir."/".$fileName_new)){
                            echo $fileName_new." uploaded!!<br>"; // ชื่อไฟล์ที่อัพโหลดสำเร็จ
                            /////////  เพิ่มคำสั่งอื่นๆ ตามต้องการ
                             
                             
                        }else{  echo "อัพโหลดไฟล์ล้มเหลว "; }
                    }else{   echo "ไม่มีโฟลเดอร์นี้ ".$uploads_dir; }
            }
    }
}
?>
</div>
 
 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>  
<script type="text/javascript" >
$(function () {
 
 
    $("#upload").on("click",function(e){
        var objFile= $("<input>",{
           "class":"file_upload",
            "type":"file",
            "multiple":"true",
            "name":"file_upload[]",
            "style":"display:none",
                change: function(e){
                    var files = this.files
                    showThumbnail(files)    
                }
        });
        $(this).before(objFile);
        $(".file_upload:last").show().click().hide();
        e.preventDefault();
    });
 
    function showThumbnail(files){
 
    //    $("#thumbnail").html("");
        for(var i=0;i<files.length;i++){
            var file = files[i]
            var imageType = /image.*/
            if(!file.type.match(imageType)){
                //     console.log("Not an Image");
                continue;
            }
 
            var image = document.createElement("img");
            var thumbnail = document.getElementById("thumbnail");
            image.file = file;
            thumbnail.appendChild(image)
 
            var reader = new FileReader()
            reader.onload = (function(aImg){
                return function(e){
                    aImg.src = e.target.result;
                };
            }(image))
 
            var ret = reader.readAsDataURL(file);
            var canvas = document.createElement("canvas");
            ctx = canvas.getContext("2d");
            image.onload= function(){
                ctx.drawImage(image,100,100)
            }
        } // end for loop
 
    } // end showThumbnail
 
 
     
     
});
 </script>    
</body>
</html>


หรือดูตัวอย่างเพิ่มเติมได้ที่

http://www.ninenik.com/forum_view_1171_1.html ความคิดเห็นที่ 3



โดย:  Ninenik IP: 1.47.8.xxx วันที่: 19-03-2017
 ความคิดเห็นที่ 3
สอบถามเพิ่มเติมนะครับเวลาเรียกดูใช้ $objResult เหมือนเดิมเนาะ 
แล้วเวลาผมจะแก้ไขอะครับใช้หลักการเดียวกับ insert รึป่าวเปลี่ยนเป็น update แทนประมาณนี้ใช่ไหมครับ


โดย:  Manit500 IP: 118.173.92.xxx วันที่: 19-03-2017 เวลา: 21:51:01
 ความคิดเห็นที่ 4
การเพิ่มรูปตามโค้ตตัวอย่าง ปกติจะใช้วิธีลบข้อมูลรูปหรือรายการที่ไม่ต้องการ แล้วเพิ่มรายการใหม่เข้าไปแทน ขึ้นกับการวางโครงสร้าง db ประกอบด้วย


โดย:  Ninenik IP: 1.47.165.xxx วันที่: 19-03-2017
 ความคิดเห็นที่ 5
สอบถามเพิ่มเติมอีกนิดนะครับ ถ้าผมต้องการให้มันโชว์ชื่อไฟล์ ที่เราเลิอกก่อนที่จะกด
เพิ่มเข้าไปละครับผมต้องไปกำหนดตรงช่วงไหนครับ นั่งมึนอยู่ 


โดย:  Manit500 IP: 118.173.92.xxx วันที่: 19-03-2017 เวลา: 22:22:03