【问题标题】:PHP not uploading file over 55 kbPHP不上传超过55 kb的文件
【发布时间】:2025-12-28 18:50:06
【问题描述】:

超过 50 KB 的文件不会上传。我检查了 php.ini 并且我有以下值

post_max_size = 16M (which i have increased from 3 MB but still no luck)
upload_max_filesize = 64M
max_file_uploads = 20

我已经尝试并阅读了所有内容,找不到解决方案,如果有人遇到过同样的问题,请分享您的经验。

PHP:

if(isset($_FILES["file"]))
{
    if($_FILES["file"]["error"] == 0)
    {
        $uploaded_file_name =  $_FILES["file"]["name"];
        move_uploaded_file($_FILES["file"]['tmp_name'], __DIR__ . "/" . $uploaded_file_name);
        exit;
    }
}

HTML:

<form action="<?php $_SERVER["PHP_SELF"] ?>" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="Submit">
</form>

【问题讨论】:

  • 您在进行更改后是否重新启动了 apache?
  • @Mooseman ini_set 无法更改上传限制,因为它们在处理页面之前使用。 (见:*.com/a/1122443/1392533
  • 如果您重启了 apache,请发布您的上传代码。它可以设置自己的最大值。
  • 来自文档:php.net/manual/de/function.ini-set.php 设置给定配置选项的值。配置选项将在脚本执行期间保留此新值,并在脚本结束时恢复。
  • 每当我更改任何内容时我都会重新启动我已经用代码更新了问题

标签: php file upload


【解决方案1】:

post_max_size 必须等于或大于upload_file_size

示例

 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 64M

 ; Must be greater than or equal to upload_max_filesize  
 post_max_size = 64M

【讨论】:

  • 是的55kk小于16M可能需要重启apache2
  • 我已经把post_max_size从16更新到了64M,并用phpinfo()验证了,还是没有区别
  • 你的apache更新后重启了吗?