2011-04-04 111 views
1

下面的代碼返回「文件‘’無法讀取或不存在」總是:Zend的文件驗證器返回錯誤信息

$filters = array(
    '*' => 'stringTrim' 
); 
$validators = array(
    'image'=> array(
     'allowEmpty' => TRUE, 
     new Zend_Validate_File_ImageSize(array('minheight'=>0,'minwidth'=>0,'maxheight'=>1024,'maxwidth'=>1024)), 
    ) 
); 
$input = new Zend_Filter_Input($filters, $validators); 
$input->setData(array_merge($data, $_FILES)); 
if (!$input->isValid()) { 
    $this->_errors = $input->getMessages(); 
} 

回答

2

文件輸入的輸入名稱必須image。此外,請確保您的表單有enctype="multipart/form-data"$_FILES的格式解釋爲。

除此之外,我不檢測Zend_Validate_File_ImageSize任何代碼,可以在$_FILES操作。我認爲你必須傳遞文件的實際路徑,例如'image' => $_FILES['image']['tmp_name'](在您的$input->setData()調用中)。

+0

TNX,工作。 $ files ['image'] = $ _FILES ['image'] ['tmp_name'];並使用$文件insteade $ _FILES – 2011-04-04 07:43:41

+0

現在返回允許的最大寬度圖像「」應該是「94」,但「128」檢測。它應該是圖像'圖像'的最大允許寬度應該是'94',但是'128'被檢測到 – 2011-04-04 07:49:03

+0

不確定這個,可能是一個錯誤。如果是這樣,請將其報告給ZF開發團隊。 – Htbaa 2011-04-04 07:58:45