2013-12-13 92 views
0

我用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反序列化):

array(0) {} 

完整的HTML表单:http://pastebin.com/Wq1yBTux

+4

是您的代码'confidential'它张贴在这里? –

+0

在这里放一些代码。 –

+0

检查您试图上传到的文件夹的权限 –

回答

0

安装Firebug(见网络选项卡)或Livehttpheaders,看看你的文件实际上是发送到服务器,如果HTTP头文件被浏览器正确发送。

他们可能是错的任何原因(Content-Type的不准,POST方法不被允许)

它应该给你的数据来看待和配置参数进行检查。

+0

它是在我的请求发送'------ WebKitFormBoundaryQyQAQArrBFT70bfD Content-Disposition:form-data; NAME = “上传”;文件名=“technikdirekt1.png” 内容类型:图像/ PNG的,我得到HTTP 200。 – nonchip

1

发现错误:“清理” $ _ POST该构架的一些“安全功能”,所以move_uploaded_file不能检查,如果文件被上传正确