【问题标题】:Validate uploaded file extension with Symfony?使用 Symfony 验证上传的文件扩展名?
【发布时间】:2011-05-04 17:31:16
【问题描述】:

我想阻止用户上传带有某些扩展名的文件。 首先想到的是像这样使用 sfValidatorRegex:

$this->setValidator('name', new sfValidatorRegex(array(
    'pattern' => '/\.htaccess$/i',
    'must_match' => false,
)));

但是,这不起作用,因为 sfValidatorRegex::doClean($value) 获取的是 sfValidatedFile 的实例,而不是文件名。

UPD:很抱歉让你们感到困惑,我真的想验证扩展名,而不是文件类型。

【问题讨论】:

    标签: symfony1 symfony-forms


    【解决方案1】:

    sfValidatorFile 可以通过 mime_type 选项按 mime 类型进行验证。它还支持 mime_type 类别,但唯一的内置类别是用于 Web 图像。打开sfValidatorFile看看!

    另请注意,您不应通过扩展名验证文件类型。扩展是完全任意的。

    【讨论】:

    • 为什么不呢?例如,我想阻止用户上传扩展名为 .htaccess 的文件。
    • 我可以有一个扩展名为 .htaccess 的 PNG 或一个扩展名为 PNG 的 htaccess 文件。阻止扩展名 .htaccess 是可以理解的,但与文件的 type 无关。
    • 你的答案可能更清楚——mime-type 和 extension 不是一回事,symfony 在这种情况下最清楚。删除你的最后一句话:)
    • 我的错!我真正的意思是“扩展名”而不是文件类型。
    猜你喜欢
    • 2014-11-06
    • 2011-05-13
    • 2021-03-09
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 2019-02-04
    相关资源
    最近更新 更多