2012-05-02 141 views
0

我正在編寫一個web應用程序,我需要能夠上傳簡歷。我已經完成了我的功課,並嘗試了所有我能找到的東西,但是我一直在收到同樣的問題。在我的PHP腳本中,$ _FILES數組完全是空的,CV字段被髮送到$ _POST數組。我的表單很大,所以我只會發布重要的代碼。文件上傳問題HTML5

<form enctype="multipart/form-data" action="exec/register_user.php" method="post"> 
<input type="file" name="cv" id="cv"/> 
<input type='submit' value='Register' /> 
</form> 

然後,我不認爲它會通過發佈PHP代碼來幫助你。但是,如果我var_dump($ GLOBALS),它顯示$ _FILES數組是空的,但'cv'顯示爲$ _POST數組中的字符串。

任何幫助將不勝感激。 在此先感謝!

回答

0

你缺少的隱藏字段max_file_size,由PHP需要。

<!-- MAX_FILE_SIZE must precede the file input field --> 
<input type="hidden" name="MAX_FILE_SIZE" value="20000000" /> 

請參閱the explanation here

+0

謝謝,但我確實看到了某處,並在我的文件輸入之前添加它,但它沒有改變任何東西? – nickcorin

+0

所有這些都會使瀏覽器拒絕一個太大的文件,而不是等待上傳完成,服務器拒絕它。 php不需要接受文件。 – Anigel

2

這通常是由於上傳的文件太大而超過了第2個定義的上傳限制之一。 post_max_size或upload_max_filesize

如果您有正確的權限,可以在.htaccess文件中通過添加以下兩行來重寫這些值。

php_value post_max_size 20M 
php_value upload_max_filesize 20M 

將允許上傳文件高達20 MB

+0

那麼我測試的文件是138kb?這通常會太大? – nickcorin

+0

默認情況下,我認爲這些值允許高達2MB,但這並不意味着您的配置使用默認值。有一個很小的文件,我懷疑這是你問題的原因。 – Anigel