【问题标题】:Zend_File_Transfer_Adapter_Http Extension ValidatorZend_File_Transfer_Adapter_Http 扩展验证器
【发布时间】:2010-09-17 12:02:57
【问题描述】:

我有下一个代码:

$currFile = new Zend_File_Transfer_Adapter_Http();
$currFile->addValidator('Extension', false, 'jpg');

效果很好。但是如果我用array('jpg','png') 代替'jpg',则只有带有jpg 扩展名的文件有效。

如何设置超过 1 个扩展。感谢您的帮助。

【问题讨论】:

  • 奇怪。看起来像有效的语法:framework.zend.com/manual/en/zend.file.transfer.validators.html 你能试试"jpg,png"吗?
  • 它没有。我使用 Zend_File_Transfer_Adapter_Http,而不是 Zend_File_Transfer。
  • 您是否出于任何特殊原因使用Zend_File_Transfer_Adapter_Http?您是否尝试过仅使用Zend_File_Transfer?毕竟,目前Zend_File_Transfer 只是Zend_File_Transfer_Adapter_Http 的包装,因为还没有实现其他协议。

标签: php validation zend-framework file-upload


【解决方案1】:

这是 Pekka 建议的一个例子:

$currFile->addValidator('Extension', false, 'png,jpg')

正如 Pekka 所说,如果您还没有尝试过,请尝试使用 , 分隔的列表。但鉴于只有 jpg 文件有效,即使您添加数组或逗号分隔列表,我也会确保您正在修改正确的文件。要对此进行测试,请将jpg 全部删除,然后使用png 并查看是否单独验证。如果不是,那么您可能正在修改错误的文件。至于您“不使用Zend_File_Transfer”,您正在使用的适配器是它的扩展,因此它可以访问相同的项目/功能,因此链接到的文档 Pekka 是相关的。

【讨论】:

  • 你找到问题了吗?因为我使用这种语法并且效果很好: $upload->addValidator('Extension', true, array('csv', 'txt', 'xls'));我很确定第二个参数不是问题。那么,你得到了正确的文件@plutov 吗?
【解决方案2】:

您必须指定是允许还是拒绝扩展

$currFile->addValidator('Extension', false, array('extension1' => 'png,jpg', 'case' => true))

您可以查看 Zend 文档

http://framework.zend.com/manual/en/migration.17.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-27
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    相关资源
    最近更新 更多