0

これは私のコードです

$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 を返すようです。true を返す必要がありますか?

私のコードで何が間違っていますか?

4

2 に答える 2

0

主な問題は、jpgまたはtxtファイルをアップロードしようとしているが、これらの拡張子のいずれもリストで許可されていないことです。、、、、、、またはのみを許可しexephpいます。pljshtmlhtm

拡張機能が配列内でスペースを介して設定される方法にも、小さな問題があります。値を調べたところ、ZF には指定した拡張子のリストがありましたが、最初のものを除くすべての拡張子の前にスペースがありました。

次の 2 つのオプションのいずれかが機能します。

// 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');
于 2012-08-02T17:27:36.110 に答える
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.'
                                )
             )
        ); 
于 2012-08-02T18:40:48.773 に答える