1

我无法理解 ->isuploaded() 的工作原理。我想上传六张图片显示在我的索引页面上。现在的问题是,在我的更新函数中,如果我只上传一个或两个图像 $upload->isUploaded() 返回一个 false 值,但如果我决定更新所有六个它返回一个 true 值。我该如何处理这个问题?我在这里错过了什么吗?

这是我的zend文件传输上传

$upload = new Zend_File_Transfer();
$upload->addValidator('Count', false, array('min' =>1, 'max' => 6)) 
               ->addValidator('Size', false, array('max' => '1Mb'))
               ->addValidator('ImageSize', false, array('minwidth' => 50,
                                                        'maxwidth' => 1000,
                                                        'minheight' => 50,
                                                        'maxheight' => 1000));

if ($upload->isUploaded()) $hasImage = true;
4

2 回答 2

2

Zend 默认猜测所有上传的文件都是无效的,即使只有一个提交的表单文件字段是空的。Zend 文档建议通过调用beforeisValid()方法来覆盖此行为。所以我不确定是否建议最好的解决方案,但它对我有用: receive()

$upload = new Zend_File_Transfer();
$upload->setDestination( 'some your destination' );
if( $adapter->isValid( 'your form file field name' ) ){
    $adapter->receive( 'your form file field name' );
}

依此类推,每个文件字段名称。foreach必要时包起来。

于 2011-08-25T07:23:16.680 回答
1

请改用isValid()

if ($upload->isValid()) {
    // success!
} else {
    // failure!
}

一旦你知道你的上传通过了验证器,然后开始处理图像。

于 2011-06-07T16:09:19.843 回答