2016-08-09 1 views
0

私はこのウェブサイトで自分の質問に対する解決策を見つけようとしましたが、問題を解決できませんでした。 それはhtmlの一部です:

<form action="" method="post" enctype="multipart/form-data" id="edit_profile_form" > 
<input type="file" name="new_profile_photo" id="new_profile_photo" value="Choose Photo" > 
<button class="button11" name="save_changes" id="button11" >SAVE </button> 
</form> 

これはAJAXコード:

<script type="text/javascript"> 
    $(document).on('click', '#button11', function(){ 
     event.preventDefault(); 

      var file_data = $("#new_profile_photo").prop('files')[0]; 
      var form_data = new FormData(); 
      form_data.append('file', file_data); 

     $.ajax({ 
        url:"ajax/editprofile.php", 
        method:"POST", 
        async: false, 
        cache: false, 
        contentType: false, 
        processData: false, 
        data: form_data, 

        success:function(data){ 
         $("#error_messages").html(data); 

        } 
       }); 


     }); 
</script> 

私が書くのvar_dump($ _ FILES)それは私に空の配列を提供します。もし誰かがそれを解決するために知っていれば助けてください。おかげ

+0

使用Ajaxがファイルをアップロードcan'tアップロードディレクトリにファイルをアップロードします。 – phper

+0

もし私がform_dataを得ることができるなら、私はファイルをアップロードします。私は – user3557576

+0

フラッシュ(swf)ファイルとajax作業ファイルをアップロードできると思います。おそらくjquery uploadifyが必要です。 – phper

答えて

0

はこれを試してみてください:

JS

$('#upload').on('click', function() { 
      var file_data = $('#pic').prop('files')[0]; 
      var form_data = new FormData(); 
      form_data.append('file', file_data); 

      $.ajax({ 
        url   : 'upload.php',  // point to server-side PHP script 
        dataType : 'text',   // what to expect back from the PHP script, if anything 
        cache  : false, 
        contentType : false, 
        processData : false, 
        data  : form_data,       
        type  : 'post', 
        success  : function(output){ 
         alert(output);    // display response from the PHP script, if any 
        } 
      }); 
      $('#pic').val('');      /* Clear the file container */ 
     }); 

PHPの

<?php 
     if ($_FILES['file']['error'] > 0){ 
      echo 'Error: ' . $_FILES['file']['error'] . '<br>'; 
     } 
     else { 
      if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name'])) 
      { 
       echo "File Uploaded Successfully"; 
      } 
     } 

    ?> 

それは

+0

まだ同じエラー:未定義のインデックス:ファイル – user3557576

+0

私は同じコードを使用して、それは正常に動作しています。ファイルIDが "pic"であるかどうかを確認しますか? –

+0

あなたは私をFacebookに書き込めますか? https://www.facebook.com/binnet.musayev94 – user3557576

関連する問題