【问题标题】:File not Uploading in File Reader文件未在文件阅读器中上传
【发布时间】:2016-06-08 10:28:11
【问题描述】:

我正在使用文件阅读器来选择和上传图像。 当我点击提交按钮时,我的图片被选中预览但未上传。

在upload.php 中$_FILES 的输出是一个空数组。

问题出在哪里?

html

<form action="upload.php" method="post" enctype="multipart/form-data">
<div id="wrapper" style="margin-top: 20px;">
    <input id="fileUpload" multiple="multiple" type="file"/> 
  <input type="submit" value="Upload Image" name="upload">

    <div id="image-holder">

    </div>
</div>
</form>

Javascript

<script>

$(document).ready(function() {
        $("#fileUpload").on('change', function() {
          //Get count of selected files
          var countFiles = $(this)[0].files.length;
          var imgPath = $(this)[0].value;
          var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
          var image_holder = $("#image-holder");
          image_holder.empty();
          if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {
            if (typeof(FileReader) != "undefined") {
              //loop for each file selected for uploaded.
              for (var i = 0; i < countFiles; i++) 
              {
                var reader = new FileReader();
                reader.onload = function(e) {
                  $("<img />", {
                    "src": e.target.result,
                    "class": "thumb-image"
                  }).appendTo(image_holder);
                }
                image_holder.show();
                reader.readAsDataURL($(this)[0].files[i]);
              }
            } else {
              alert("This browser does not support FileReader.");
            }
          } else {
            alert("Pls select only images");
          }
        });
      });
</script>

上传.php

<?php

require_once './include/db_connection.php';
if(isset($_POST['upload']))
{
print_r($_FILES);
die();

if(!empty($_FILES)){

    $targetDir = "upload/";
    $fileName = $_FILES['file']['name'];
    $targetFile = $targetDir.$fileName;

   if(move_uploaded_file($_FILES['file']['tmp_name'],$targetFile))

   {
        //insert file information into db table
 $sql = mysqli_query($link,"INSERT INTO files (file_name, uploaded) VALUES('".$fileName."','".date("Y-m-d H:i:s")."')");
 echo 'file inserted';  
 }
    else
    {
        echo 'Query not working';
    }

}
else
{
    echo 'No file selected';
}
}

【问题讨论】:

    标签: javascript php filereader


    【解决方案1】:

    您的文件输入没有name

    表单控件的name 用于确定它将在提交的数据中具有什么键。没有它们的控件将不会成功(即根本不会出现在提交的数据中)。

    【讨论】:

    • 太棒了!上帝保佑你!
    • 再做一件事......如果我想在脚本中限制图像的大小怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 2018-07-21
    • 2014-07-01
    • 2011-05-05
    相关资源
    最近更新 更多