2017-05-18 8 views
2

ajaxとphpを使用して写真をアップロードしようとしています。他の答えに続いてそれはかなりまっすぐ進むはずですが、私はそれを働かせることはできません。誰でも私のコードで間違ったことを見ることができます。phpを使用して画像をフォルダにアップロードし、ajaxの問題をPHPで表示する

私はそれが私のPHPの問題でなければならないと思うので、ajaxリクエストは成功しました。

私のhtmlコードは、私のPHPコードは次のようになります。この

<form> 
 
    <input id="upload-input" type="file" multiple="multiple"></br> 
 
    <input class="auction-description" type="text"> 
 
    <input class="btn btn-lg submit-images-btn" type="submit"> 
 
</form>

次のようになります。

PHP

<?php 
$dir = "/images"; 
echo $dir; 
move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $dir) 
?> 

と私のjsのように見えますこの。チャットで私たちの会話を1として

JS

$('#upload-input').on('change', function() { 

    var files = $(this).get(0).files; 

    if (files.length > 0) { 
    // create a FormData object which will be sent as the data payload in the 
    // AJAX request 
    var formData = new FormData(); 

    // loop through all the selected files and add them to the formData object 
    for (var i = 0; i < files.length; i++) { 
     var file = files[i]; 
     fileNames.push(file.name); 

     // add the files to formData object for the data payload 
     formData.append("image", file); 
    } 

    $.ajax({ 
     url: '/uploadphoto.php', 
     type: 'POST', 
     data: formData, 
     processData: false, 
     contentType: false, 
     success: function(data) { 
     console.log('upload successful!\n' + data); 
     } 
    }); 
    } 
}); 
+0

、 –

+0

はあなたが合格する必要があるかもしれません、URLの代わりにシステムパスを試してみてください。 => enctype: 'multipart/form-data'をajaxリクエストに追加します。 –

+0

PHPのエラー報告が何かを明らかにし、開発者コンソールを見てください –

答えて

3

、問題はあなたのファイルの入力に名前が付いていなかったことが判明し、有効のenctype。

enctype="multipart/form-data"とPOSTメソッドを含むように、

<input type="file" name="uploaded_file">として、フォームに読むべきです。

<form>「POST」メソッドを使用しない場合は、デフォルトでGETメソッドが使用されます。

これらはファイルを扱う際に必須です。

参考:手始めに

関連する問題