php – Symfony 2文件上传设置默认文件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Symfony 2文件上传设置默认文件脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在Symfony2应用程序中有一个表单,我要求用户上传文件.此字段不是必需的.目前,我使用以下命令处理用户文件

$file = $form['attachement']->getData();

我的问题是,如果$file返回NULL,我该如何设置文件,即用户不想上传任何文件
谢谢.

解决方法

首先,您必须从文件中创建有效对象.
为此,请使用 Symfony\Component\HttpFoundation\File.

用法:$file = new文件(‘path / of / your / default / file’);

然后,您必须在数据绑定完成之前更新表单.
为此,您有两个解决方案:

1-如果字段为空,请使用FormEvent手动设置文件. (例如PRE_SubMIT和POST_SUBMIT)

2-在实体中使用prePErsist / preUpdate挂钩. (不涉及移动您的逻辑,未映射的属性’attachment’应该已经存在于您的实体中)

对于选项1,请参阅食谱的Dynamic form modification章节并查找适当的事件(文档将提供选择它的信息).

有关2,请参阅Docntine文档的Events章节.
像下面这样的东西应该做的工作:

/**
 * @ORM\HasLifecycleCallbacks
 */
class YourEntity {
    /**
     *
     * @ORM\PrePersist
     * @ORM\PreUpdate
     */
    public function manageFile()
    {
        if ($this->attachment === null) {
            $file = new File('path/of/your/default/file');
            $this->setAttachment($file);
        }
    }
}

我希望这对你来说已经足够了.

脚本宝典总结

以上是脚本宝典为你收集整理的php – Symfony 2文件上传设置默认文件全部内容,希望文章能够帮你解决php – Symfony 2文件上传设置默认文件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。