【问题标题】:Cannot upload mdb file through HTML form无法通过 HTML 表单上传 mdb 文件
【发布时间】:2012-08-08 01:03:48
【问题描述】:

不知道为什么它不能完全用于 mdb 文件,它甚至不返回任何数据。

我有以下 HTML 表单:

if(!isset($_GET['action'])) {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>?page=mypage&action=upload" method="POST" enctype="multipart/form-data">
        <input name="MAX_FILE_SIZE" value="64000" type="hidden" />
        <label for="data-file">Please select file to upload:</label>
        <input id="data-file" type="file" size="20" name="data-file" />
        <input type="submit" value="Upload" name="submit" />
    </form>
    <?php
} else {
    switch($_GET['action']) {
        case 'upload':
            var_dump($_POST);
            var_dump($_FILES);
            break;
        default:
            break;
    }
}

当我选择一个 mdb 文件并点击提交时,它会返回两个空数组:

'array(0) { } array(0) { }'

但如果我选择其他文件,如 excel 文件或图像文件,我会得到:

array(1) { ["submit"]=> string(6) "Upload" }
array(1) { ["data-file"]=> array(5) { ["name"]=> string(18) "testing.png" ["type"]=> string(9) "image/png" ["tmp_name"]=> string(26) "C:\WINDOWS\Temp\php951.tmp" ["error"]=> int(0) ["size"]=> int(110533) } }

有人知道为什么会发生上述情况吗?

另外,我试图删除我试图上传的 mdb 文件中的大部分数据 将文件大小减小到小于 1MB 并再次上传,它起作用了。 所以我在服务器上检查了我的 php.ini,但是 upload_max_filesize 设置为 64M 我原来的 mdb 文件大小是 14MB。

我不明白为什么它不上传也不返回任何数据,甚至没有错误。 这令人沮丧。

请帮忙!

【问题讨论】:

标签: php file ms-access upload forms


【解决方案1】:

这是服务器设置,

我不得不更改php.ini中的设置

确定

memory_limit >= post_max_size >= upload_max_filesize

在你的php.ini

【讨论】:

    【解决方案2】:

    也许是MAX_FILE_SIZE

    MAX_FILE_SIZE 隐藏字段(以字节为单位)必须位于 文件输入字段,它的值是接受的最大文件大小 PHP。

    http://www.php.net/manual/en/features.file-upload.post-method.php

    所以,64000Byte / 1024 = 62,5 KB

    尝试删除MAX_FILE_SIZE 字段。

    【讨论】:

    • 是的,这可能是原因之一,但在这种情况下不是,不过非常感谢。
    猜你喜欢
    • 2018-06-29
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 2011-06-30
    • 2019-10-17
    • 1970-01-01
    相关资源
    最近更新 更多