我在其中一个项目中执行了多文件上传功能。 为此,我使用了uploadify的flash版本。
它在我的本地开发机器和我用于测试的另一台服务器上工作正常,但它在生产机器上不起作用(当然)。
在对我发现的问题进行故障排除后,处理上传过程的脚本没有收到问题服务器上$ _FILES中的所有参数。
工作机器上的 var_dump($_FILES)
:
["Filedata"]=>
array(5) {
["name"]=>
string(10) "simple.pdf"
["type"]=>
string(24) "application/octet-stream"
["tmp_name"]=>
string(14) "/tmp/phpTnNROo"
["error"]=>
int(0)
["size"]=>
int(60911)
}
}
失败机器上的 var_dump($_FILES)
:
["Filedata"]=>
array(1) {
["name"]=>
string(10) "simple.pdf"
}
}
我不知道为什么,但是甚至没有错误编号。
我该如何解决?
我使用这些PHP版本:
Dev Machine: PHP 5.3.15
Working Remote Machine: PHP 5.3.3
Failing Remote Machine: PHP 5.3.8
php.ini配置(更改它以消除一些配置限制作为错误源):
file_uploads = On
max_file_uploads = 200
upload_max_filesize = 1G
post_max_size = 1G
memory_limit = 256M
max_execution_time = 14000
max_input_time = 14000
答案 0 :(得分:1)
检查您的HTML代码表单,您是否在生产服务器中更改了表单的方法?它似乎在生产服务器上,浏览器根本不上传文件 例如,表单代码必须如下:
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file[]"><br />
<input type="file" name="file[]"><br />
</form>