PHP文件上传不起作用

时间:2017-03-11 05:21:47

标签: php excel file-upload amazon-ec2

我正在使用php中的Web应用程序,允许用户上传具有指定结构的文件(文件类型可以是cvs或excel工作表),应用程序将从文件中提取数据并将其插入数据库

我无法让我的应用程序上传文件而且我已经尝试了2天,我检查了php.ini的最大上传大小,最大帖子大小,文件上传,临时目录设置为/ tmp,所有用户都可以访问。

我还检查了php和html的语法并确保我使用了正确的编码类型,我还检查了上传目录的权限,但_FILES变量始终为空,注意:我的web服务器托管在amazon ec2上运行Ubuntu 14.04 LTS。

这是我尝试的代码之一,它的输出:

<?php
        echo $_FILES['file']['error'];
        print_r($_FILES);
        echo $name = $_FILES['file']['name'];
?>

<html>
<header>
<title> Test Page</title>
</header>
<body>
<form action="Test.php" method="POST" enctype="multipart/formdata">
        <input type="file" name="file" id="file" /><br><br>
        <input type="submit" value="submit" />
</form>
</body>
<html>

并且输出的echo只是Array(),无论我是否上传文件。

之前有人遇到过这样的事情吗?

1 个答案:

答案 0 :(得分:0)

<?php
     if ($_SERVER["REQUEST_METHOD"] == "POST") {
        session_start();

        $file_tmp= $_FILES['image']['tmp_name'];
        header("Test.php");
     }
 ?>

<html>
  <header>
     <title> helllllllo </title>
  </header>
  <body>
       <form action="form-validation" method="POST" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" >

        <div class="form-row form-input-name-row">
          <label>
          <span>Profile Image</span>
          <input type="file" name="image" id="file" onchange="readURL(this);" data-val="true" style="margin-bottom:10px;" />
          <div class="form-row form-input-name-row">
              <img id="blah" src="#" alt="your image" style="width: 100px; display: none; margin-bottom:10px;" />
          </div>
        </div>
        <input type="submit" value="submit" />
       </form>
<script>

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function (e) {
            $('#blah').show().attr('src', e.target.result);
        }
        reader.readAsDataURL(input.files[0]);
    }
}

</script>

   <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  </body>
</html>