2016-12-28 34 views
-1

Ajaxを使用してファイルをアップロードできません。 1つのファイルだけをアップロードしたいです。私がしたコードは以下の通りです。Ajaxでファイルをアップロード中にエラーが発生しました

HTML &アヤックス

$(document).ready(function(){ 
    $("input:submit").on('click', function(e) { 
    e.preventDefault(); 
    var submit = $("#submit").val(), 
    file = document.getElementById('slip_gaji').files[0], 
    fd = new FormData(); 
    fd.append("submit", submit); 
    fd.append("slip_gaji", file); 
    $.ajax({ 
     url: "insert-slip.php", 
     type: "POST", 
     data: fd, 
     processData: false, 
     contentType: false 
    }).done(function(data){ 
     $('#result_insert').html(data) 
    }); 
    }); 
}); 

<form id="upload_gaji" name="upload_gaji enctype="multipart/form-data" method="post"> 
    <fieldset class="account-info"> 
     <label> 
      Slip Gaji <br> 
      <input type="file" name="slip_gaji" id="slip_gaji"> 
     </label> 
    </fieldset> 
</form> 

PHP - インサートslip.php

<?php 
if(isset($_POST["submit"])){ 
    if (empty($_FILES['slip_gaji']['tmp_name'])) { 
     $err[] .= 'No File Selected'; 
    } else { 
     $fname = $_FILES['slip_gaji']['name']; 
     $fpath = "uploads/" . date('d-m-Y-H-i-s').'-'.$fname; 
     $move = move_uploaded_file($fname, $fpath); 
    } 
} 

if (!empty($err)) { 
    echo '<ol style="color: red;"><li>' . implode('</li><li>', $err) . '</li></ol>'; 
} else { 
    echo 'File Uploaded!'; 
} 

echo '<pre>'; var_dump($_FILES); echo '</pre>'; 
?> 

私がしたコードから、何のファイルがアップロードフォルダにアップロードされませんでした。私がvar_dump($_FILES)を使用している場合。私は出力を受け取りました:

array(1) { 
    ["slip_gaji"]=> 
    array(5) { 
    ["name"]=> 
    string(12) "cuti_ceo.txt" 
    ["type"]=> 
    string(10) "text/plain" 
    ["tmp_name"]=> 
    string(24) "C:\xampp\tmp\php248A.tmp" 
    ["error"]=> 
    int(0) 
    ["size"]=> 
    int(196) 
    } 
} 

誰かがエラーを確認できますか?

+0

'名="それは –

+0

外観はすでに引用符を追加します。一つには、引用符が欠落しているが、ここで –

+0

を報告するあなたのデベロッパーコンソールと使用エラーで – Amran

答えて

1
$fname = $_FILES['slip_gaji']['name']; 
$temp_fpath = $_FILES['slip_gaji']['tmp_name']; 
$fpath = "uploads/" . date('d-m-Y-H-i-s').'-'.$fname; 
$move = move_uploaded_file($temp_fpath, $fpath); 

move_uploaded_file機能は、完全なファイルパスを必要としています。

+0

もののことをしてみてください、あなたは以下の回答をした – Amran

+0

'tmp_name'にはファイルパスが含まれていますが、正しいですか?うまくいきました。ありがとうございました – Amran

+0

ありがとう、おめでとうございます。 –

関連する問題