【问题标题】:PHP file Uploads not WorkingPHP文件上传不起作用
【发布时间】:2017-08-01 13:58:30
【问题描述】:

我正在开发一个 php 中的 Web 应用程序,它允许用户上传具有指定结构的文件(文件类型可以是 cvs 或 excel 表格),该应用程序将从文件中提取数据并将它们插入数据库。

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

我还检查了 php 和 html 的语法,并确保我使用了正确的编码类型,我还检查了上传目录的权限,但 _FILES 变量始终为空,注意:我的网络服务器托管在亚马逊 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>

无论我是否上传文件,输出的回声都只是 Array ( )。

以前有人遇到过这种情况吗?

【问题讨论】:

  • print_r($_FILES); 有意义,但是 echo $name = $_FILES['file']['name']; 没有
  • 试试这个:enctype = "multipart/form-data"。在您的代码中,它是 enctype="multipart/formdata"。它可能对你有帮助。
  • 谢谢 Kashish,它现在可以工作了,我简直不敢相信我花了两天时间研究并错过了这个错字,非常感谢。

标签: php excel file-upload amazon-ec2


【解决方案1】:
<?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>

【讨论】:

    猜你喜欢
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2016-03-11
    • 1970-01-01
    相关资源
    最近更新 更多