【问题标题】:Files not uploading despite not reaching the file size limit尽管未达到文件大小限制,但文件未上传
【发布时间】:2019-05-23 05:34:34
【问题描述】:

我设置了一个简单的 PHP 脚本来上传文件。这里是:

index.php

<form action="upload.php" method="post" enctype="multipart/form-data">
  Select image to upload:
  <input type="file" name="myfile"/>
  <input type="submit"/>
</form>

上传.php

<?php
  $dir = "uploads/";
  $file = $dir . basename($_FILES["myfile"]["name"]);

  if (move_uploaded_file($_FILES["myfile"]["tmp_name"], $file)) {
    echo "The file ". basename($_FILES["myfile"]["name"]) . " has been uploaded.";
  } else {
    echo "Sorry, there was an error uploading your file.";
  }
?>

所有文件,连同上传文件夹,都在一个目录中。

我还通过在 php.ini 中修改这一行来设置文件大小的限制:

upload_max_filesize = 1G

尽管修改了 php.ini 以允许最大为 1GB 的文件,但我什至无法上传 10MB 的文件。提交时,我收到三个错误:

警告: POST Content-Length of 10935316 bytes 超出 Unknown on line 0 中 8388608 bytes 的限制
注意:未定义索引:myfile in C:\第 3 行的 WampServer64\www\fileupload\upload.php
注意:未定义的索引:第 5 行的 C:\WampServer64\www\fileupload\upload.php 中的 myfile

其他较小的文件(8MB)正常上传。

问题出在哪里?

【问题讨论】:

    标签: php file-upload


    【解决方案1】:

    您收到的错误通常与 POST 数据有关(上传通过),而不是特定于文件上传。

    您要查找的 PHP 设置是 post-max-size。您应该能够通过增加其价值来解决您的问题。

    文档中的相关部分:

    设置允许发布数据的最大大小。此设置也会影响文件 上传。要上传大文件,此值必须大于 upload_max_filesize。

    【讨论】:

    • 谢谢。我将它设置为 1G,但是,我仍然收到最后两个错误。
    • 没关系。你说“大于upload_max_filesize”。我工作了,再次感谢!
    • @WaisKamal 不客气。如果您愿意,也可以将答案标记为已接受。祝你好运。
    • 当然。它只会让我在一段时间后这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 2011-01-29
    • 2017-03-09
    • 2011-01-13
    • 1970-01-01
    • 2021-10-16
    相关资源
    最近更新 更多