2016-07-25 130 views
2

我在從PHP上傳文件的問題(運行泊塢窗適用於Windows)。奇怪的是,一些文件有效,而其他文件不能。只有某些文件在PHP上傳

<!DOCTYPE html> 
<html> 
<body> 

<form action="test.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload" name="submit"> 
</form> 

</body> 
</html> 

<?php 

var_dump($_FILES); 

當出現故障時,輸出的是:我可以用下面的腳本重現它

array(1) { 
    ["fileToUpload"]=> 
    array(5) { 
    ["name"]=> 
    string(13) "image_2_3.jpg" 
    ["type"]=> 
    string(0) "" 
    ["tmp_name"]=> 
    string(0) "" 
    ["error"]=> 
    int(3) 
    ["size"]=> 
    int(0) 
    } 
} 

從我的理解,錯誤代碼3表示它是一個局部上傳但是,我我不確定爲什麼它只出現在某些文件中。我無法看到不起作用的文件中的模式。例如,不工作的一個文件是關於70KB,而該作品是180KB另一個文件,所以它似乎並沒有成爲一個文件大小相關的問題。

我在Windows 10上運行此上泊塢窗容器中運行的泊塢窗圖像是基於官方PHP圖像上。我測試了5.5-apache和5.6-apache的標籤。代碼本身從Windows中的已安裝卷運行。

加載的Apache模塊是:

core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version 
mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core 
mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex 
mod_deflate mod_dir mod_env mod_filter mod_headers mod_mime prefork 
mod_negotiation mod_php5 mod_rewrite mod_setenvif mod_status 

任何想法將不勝感激。

編輯:沒有一個獨立的測試運行的純PHP:提到和我仍然能夠重現該問題5.5 apache的圖像,與剛剛PHP代碼。

在我的最後一次測試該文件產生的問題:http://s000.tinyupload.com/?file_id=14588523736227077930

而這一工作:http://s000.tinyupload.com/?file_id=03989814485857897493

+0

任何日誌文件嗎?它總是相同的mimetypes失敗?你只是在嘗試圖像文件? – Anigel

+0

您必須編輯PHP.ini以允許它。 – prgrm

+0

您需要提供更多信息,哪些文件不起作用什麼文件。 具有一定規模的最有可能您的服務器拒絕的文件,那麼你需要在你的ini配置(或htaccess的,如果它是允許的,允許更大的文件大小+更大的上傳大小) –

回答