不确定为什么它不能完全用于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文件并单击submit时,它会返回两个空数组:
'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。
我不明白为什么它不上传也不返回任何数据甚至没有错误。 这令人沮丧。
请帮忙!
答案 0 :(得分:1)
也许是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
字段。
答案 1 :(得分:0)
这是服务器设置,
我必须更改php.ini
确保
memory_limit >= post_max_size >= upload_max_filesize
在php.ini