使用php和ajax问题将图像上传到文件夹

时间:2017-05-18 17:49:51

标签: javascript php ajax

我正在尝试使用ajax和php上传照片。在这里遵循其他答案它应该是相当直接但我不能让它工作。任何人都可以看到我的代码有任何问题。

ajax请求成功,所以我认为它一定是我的php的问题。

我的HTML代码看起来像这样

<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

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

我的js看起来像这样。

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);
      }
    });
  }
});

1 个答案:

答案 0 :(得分:3)

根据我们在聊天中的对话,问题证明您的文件输入未命名并且是有效的enctype。

它应显示为<input type="file" name="uploaded_file">

并在表单中包含enctype="multipart/form-data"和POST方法。

没有“POST”方法的

<form>默认为GET方法。

处理文件时,这些是必不可少的。

参考: