2012-04-23 85 views
2

我在yii中創建了一個文件上傳表單,但由於某些原因,Yii未能驗證我的文件大小(雖然它確實驗證了我的文件類型)。 這是我的控制器:Yii無法驗證文件大小

$file = CUploadedFile::getInstance($model,'attachment'); 
if ((is_object($file) && get_class($file)==='CUploadedFile')) { 
    $model->attachment = $file; 
    if($model->validate(array('attachment'))) 
     $model->attachment->saveAs('upload/'.$file); 
} 

這是我的規則:

array('attachment', 'file', 'types'=>'zip, rar, 7z','allowEmpty' => true,'maxSize'=>1024*1024*5,'tooLarge'=>'File has to be smaller than 5MB'), 

有人能告訴我這裏有什麼問題?

+0

Yii如何在'$ file'屬性中報告文件大小。如果我沒記錯的話''file-> size' – Paystey 2012-04-23 09:29:43

+0

我試着上傳一個2.25MB的bmp文件,它顯示了文件大小和類型的驗證錯誤('$ file - > _ size'被報告爲'2359350')。然後我嘗試上傳一個50MB的rar文件,即使上傳沒有發生,也沒有顯示驗證錯誤。 – 2012-04-24 02:39:48

+2

我發現了這個問題。我所要做的就是在INI文件中配置'upload_max_filesize'和'post_max_size'。感謝您的幫助 – 2012-04-24 02:57:28

回答

4

謝謝大家,我自己設法解決了這個問題。我所需要做的就是在INI文件中配置upload_max_filesize和post_max_size。