简单的上传文件表单不适用于某些浏览器

时间:2012-12-03 02:19:41

标签: php html forms upload

我上传文件表单有问题。我将在这里写一个代码的简单示例,该代码在所有浏览器中都不起作用。

HTML部分是这样的:

 <form method="POST" enctype="multipart/form-data" action="match.php">
       <input class="btn btn-info" name="dataset" type="file" id="dataset" />
       <input class="btn btn-info" type="submit" name="submit" value="Submit" />
 </form>

然后,在match.php文件中,我得到并处理该文件,例如:

if ($_FILES["dataset"]["error"] > 0 || !($_FILES["dataset"]["size"] > 0)) {
    $dataset = "default.txt";
    echo 'error:' . $_FILES["dataset"]["error"] . ' -  filesize:' . $_FILES["dataset"]["size"];
} else {
    $dataset = $_FILES["dataset"]["tmp_name"];
    echo "Ok";
    print_r($_FILES);
}

非常简单:如果在上传过程中出现错误,我将使用默认文件(并打印一些错误信息),否则一切正常。

嗯,除了在某些浏览器中,这完全有效。例如,我遇到了 Android默认浏览器(不是Chrome)的问题,而且在Windows系统中也出现了一些浏览器(我自己没有试过,真诚的)。

使用我打印的错误信息,看起来$_FILES["dataset"]["error"](输出为0)没有错误,但文件大小为 0 (仅在这些浏览器上)。

文件夹权限没有问题(我使用“default.txt”文件信息在文件夹中写文件), php.ini 设置没有问题(实际上我用相同的txt文件测试了它)这是65kb)。

1 个答案:

答案 0 :(得分:0)

尝试更改按钮的name属性。我前段时间看到过这个问题。

<input class="btn btn-info" type="submit" name="send" value="Submit" />