多文件上传的PHP行为真的很奇怪,我的不好?

时间:2011-12-17 11:34:51

标签: php forms file file-upload

这里有奇怪的行为。当前upload_max_filesize2M我的PHP安装有问题吗?

<?php if(isset($_FILES['images'])) var_dump($_FILES['images']); ?>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
    </head>
    <body>
        <form method="post" action="processupload.php"
            enctype="multipart/form-data">
            <input id="images[]" name="images[]" type="file" multiple="" />
            <input name="submit" type="submit" value="Upload" />
        </form>
    </body>
</html>

测试显示不同的行为:

  • 大尺寸(12M)mp3文件:$_FILES['images']未设置
  • 中等大小(4M)mp3文件:$_FILES['images']存在 $_FILES['images']['type']为空且$_FILES['images']['size']为空

编辑:找到了我自己但我无法回答我自己的问题:

  • 如果12M文件$_FILES['images']为空,因为发布数据的(大小)总和大于post_max_size details here
  • 如果4M文件typesize为空,因为上传大小大于upload_max_filesize

2 个答案:

答案 0 :(得分:0)

当拥有多个上传文件时,您必须访问索引为0的当前文件.MaxUploadFiles

$_FILES[<current_index_for_file>]['images']['error']

答案 1 :(得分:0)

你可以检查

的输出
print_r($_FILES);

现在您将了解阵列的结构。 如果我记得很清楚,您可以通过以下方式访问值:

$_FILES['images']['size'][<index>]
$_FILES['images']['type'][<index>]
$_FILES['images']...