我在Zend Framework 2-beta5的Form类中实现IsImage文件验证器时遇到问题。
一般来说,我在Zend框架2中的Zend Form类中使用任何File验证器时遇到问题。
我找不到任何相关文件。
我发现了例如驻留在Library / Zend / Validator的Float验证器 可以使用以下代码:
$this->setInputFilter($inputFactory->createInputFilter(array(
'alcohol_vol' => array(
'name' => 'alcohol_vol',
'required' => true,
'validators' => array(
array(
'name' => 'Float',
),
),
),
)));
IsImage文件验证器驻留在/ Library / Zend / Validator / File,无法找到使用它的方法。任何有关该问题的信息将不胜感激。
谢谢!
幼狮
答案 0 :(得分:1)
尝试在validators
密钥下添加此代码段,如下所示:
'validators' => array(
array(
'name' => '\Zend\Validator\File\IsImage',
'options' => array(
'break_chain_on_failure' => true,
),
),
),
但有时候,依赖于服务器配置,IsImage可能无法正常工作。然后使用Extension验证器:
'validators' => array(
array(
'name' => '\Zend\Validator\File\Extension',
'options' => array(
'extension' => array(
'png', 'jpeg', 'jpg',
),
'break_chain_on_failure' => true,
),
),
),
答案 1 :(得分:0)
上传文件验证/过滤器应该使用Zend \ File \ Transfer但不能使用Zend \ Form
尝试以下方式添加文件验证程序
$fileTransfer = new Zend\File\Transfer\Transfer();
$fileTransfer->addValidators(array(
array('IsImage', true)
));
if($fileTransfer->isValid()){
$fileTransfer->receive();
}