2013-01-21 63 views
0

我遇到了在測試站點上製作文件上傳表單的問題。使用教程:調試PHP文件上傳器

在第一種情況下,創建表格後和PHP文件,它會說,它未能上傳沒有給出任何理由的文件(基於代碼給出,這並不奇怪)。然後,我嘗試使用第二個教程重做它,它給了我更多的信息(一個有效的文件還沒有上傳),即使在我修改了代碼之後,它在該IF門口檢查的唯一東西就是尺寸是否太大大。

我搜索了一段時間,發現有人推薦傾銷$_FILES,這給了一個空陣列。其他人建議呼應$_FILES['userfile']['error'],但沒有提供任何信息。

所以我檢查確認窗體有正確的enctype(它確實)。然後我檢查了cPanel的PHP信息。上傳文件已啓用,最大大小爲2M(我嘗試上傳的內容比這個小)。

我不知道下一步該去哪裏解決這個問題。任何幫助將不勝感激。

回答

1

在腳本反過來錯誤報告對挑選從這個名單適合您需要的一個頂部:

<?php 

// Turn off all error reporting 
error_reporting(0); 

// Report simple running errors 
error_reporting(E_ERROR | E_WARNING | E_PARSE); 

// Reporting E_NOTICE can be good too (to report uninitialized 
// variables or catch variable name misspellings ...) 
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); 

// Report all errors except E_NOTICE 
// This is the default value set in php.ini 
error_reporting(E_ALL^E_NOTICE); 

// Report all PHP errors (see changelog) 
error_reporting(E_ALL); 

// Report all PHP errors 
error_reporting(-1); 

// Same as error_reporting(E_ALL); 
ini_set('error_reporting', E_ALL); 

?> 

還要檢查服務器的錯誤在你的錯誤日誌。 :)這是解決大多數問題的最佳方法。

0

如果更改上述任何參數似乎沒有任何區別,則可能是某個HTML表單的名稱包含名稱MAX_FILE_SIZE作爲隱藏字段。

<input type="hidden" name="MAX_FILE_SIZE" value="10000000">

在上面的例子中,超過10MB的任何文件將不被上傳。