2013-12-13 43 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不能檢查,如果文件被上傳正確