2013-07-18 94 views
0

我試圖做一個簡單的文件上傳。我以前做過很多次了,一切都很好。由於某種原因,這次我不斷收到錯誤UPLOAD_ERR_INI_SIZE。即使我以前在同一臺服務器上上傳了更大的文件。這裏是我的php.ini:Max_File_Uploads指令php.ini

display_errors = On 
short_open_tag = On 
memory_limit = 32M 
date.timezone = Europe/Paris 
upload_max_filesize = 10M 
post_max_size = 10M 

而我的HTML表單:

<form action="/settings/upload-image" method="POST" enctype="multipart/form-data"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="<?=(1024*1024*1024);?>"> 
    <input name="files[]" id="attachfile" type="file" /> 
    <br /><br /> 
    <input type="submit" class="submit" value="Upload New Profile Image">  
</form> 

而且我的代碼:

foreach($files as $file) 
       { $ext = strtolower(pathinfo($file[0], PATHINFO_EXTENSION)); 
        if(in_array($ext,$allowed_upload_ext)===TRUE) 
        {  
          if(!$file[3]) {  // If no error code 
           //$newFile = $me['id'].".$ext"; 
           $newFile = $file[0]; 
           resizeImage($file[2],PROFILE_IMAGES."/".$newFile,$ext,500); 
           genThumbFile($file[2],PROFILE_IMAGES."/thumb/".$newFile); 

           runSQL("UPDATE `users` SET `image`='{$file[0]}' WHERE `id`='{$me['id']}';"); 
           array_push($msgs,"Image uploaded successfully."); 
           $me = select("SELECT * FROM `users` WHERE `id`='{$me['id']}';",true); 
          } else { 
           array_push($msgs,"!".fileError($file[3])); 
          } 
        } else { 
         array_push($msgs,"!The file ".$file[0]." could not be uploaded as it is the wrong file type."); 
        } 
       } 

唯一不同的這一次是我調整大小和genorating大拇指與臨時上傳文件,而不是先複製文件。這可能是問題嗎?我不這麼認爲,因爲如果圖像很小,它的效果就很好。但我嘗試了2MB之類的東西,它會拋出一個合適的結果。

對此提出建議?

回答

0

感謝您的幫助傢伙。 :P

我解決了這個問題 - 缺少一行在php.ini:

file_uploads = On

剛的人誰鰭片這一點。