【问题标题】:Simple upload file form not working with some browsers简单的上传文件表单不适用于某些浏览器
【发布时间】:2012-12-03 02:19:41
【问题描述】:

我在上传文件表单时遇到问题。我将在这里编写一个无法在所有浏览器中运行的简单代码示例。

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)。

【问题讨论】:

  • 我认为有些手机浏览器根本不支持文件上传。这可能是问题所在。

标签: php html forms upload


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 1970-01-01
    相关资源
    最近更新 更多