我使用enctype=multipart/form-data
获得了文件上传表单,但我的$_FILES
数组始终为空。 max_upload_size
足够大(2MB,我正在使用100kb文件进行测试)。完全相同的代码正在其他主机上工作,所以我认为我的webhoster的php设置有问题。有谁知道我可以检查什么?当我问他们时,他们总是告诉我这不是他们的错 - -_-
修改
你问过代码,我没有发布,因为它非常复杂(Shopware插件),但我想我可以提取重要的部分:
HTML(Smarty):
<form method="post" action="{url action=saveRegister}" enctype="multipart/form-data">
PHP(在我的事件处理程序中):
file_put_contents('ul.log',serialize($_FILES));
结果(var_dumped unserialized):
array(0) {}
完整表单HTML:http://pastebin.com/Wq1yBTux
答案 0 :(得分:1)
发现错误:框架的某些“安全功能”已“清理”$ _POST,因此move_uploaded_file
无法检查文件是否已正确上传
答案 1 :(得分:0)
安装Firebug(请参阅网络标签页)或Livehttpheaders以查看您的文件是否实际发送到服务器以及浏览器是否正确发送了HTTP标头。
出于任何原因它们可能是错误的(不允许使用Content-Type,不允许使用POST方法)
它应该为您提供要查看的数据和要检查的配置参数。