2012-08-02 70 views
0

這是我的代碼Zend_File_Transfer_Adapter_Http addValidator的isValid

$adapter = new Zend_File_Transfer_Adapter_Http(); 
$adapter->addValidator('Extension', false, 
       array('extension' => 'exe, php, pl, js, html, htm', 'case' => false)); 
if (!$adapter->isValid()) 
{ 
    return 'ERROR'; 
} 

當我嘗試上傳JPG或txt文件,我得到 '錯誤' 的字符串。看起來像$ adapter-> isValid()返回false。它應該回歸真實嗎?

我的代碼有什麼問題?

回答

0

主要問題是您正嘗試上傳jpgtxt文件,但這些擴展名在列表中均不允許。您只允許exe,php,pl,js,htmlhtm

在數組中設置擴展的方式還有一個小問題,它們之間有空格。我檢查了這些值,ZF提供了你提供的擴展名列表,但除第一個之外的每一個都在前面有一個空格。

以下兩種選項之一將工作:

// array method 
$adapter->addValidator('Extension', false, 
         array('txt', 'jpg', 'jpeg', 'exe', 
          'php', 'pl', 'js', 'html', 'htm', 
          'case' => false)); 

// or 

// string method 
$adapter->addValidator('Extension', false, 
         'txt,jpg,jpeg,exe,php,pl,js,html,htm'); 
0

嘗試與此代碼,你可以在錯誤添加消息太

$adapter->addValidator(
     'extension', 
     false, 
     array(
      'jpg,jpeg,png,avi,mov,mpeg,wmv', 
      'messages' => array(
           Zend_Validate_File_Extension::FALSE_EXTENSION => 
           'Invalid format must be jpg,jpeg,png,avi,mov,wmv or mpeg.' 
           ) 
      ) 
     ); 
相關問題