Symfony2 - 我应该把用户上传的文件放在哪里?

时间:2013-10-18 19:59:13

标签: symfony symfony-forms

我是Symfony的新手,我在/web/bundles/mybundle/images/目录下放置了用户上传的图片。但我觉得这不是好习惯。因为当我在下面运行命令创建符号链接到src目录下的其他文件时。用户上传的所有图片均已删除。

php app/console assets:install ./web --symlink

我应该在哪里上传用户上传的图片?

1 个答案:

答案 0 :(得分:9)

我个人的解决方案是将它们放在/app/data/uploads目录中,然后是:

  1. 为上传目录创建符号链接,或
  2. 通过控制器提供上传服务
  3. 选项1可能是图像和资产的最佳选择,因为您希望它们尽可能快地投放。但是,对于其他内容(PDF,文档等),选项2可能是您更好的选择,因为您可以更好地控制您希望如何投放内容。

    我更喜欢保持我的/web目录尽可能干净,并将文件上传保持在公共范围之外(允许我更改我提供文件的方法而无需移动它们 - IE从选项1移动上面的选项2),但是如果你想将它们存储在网络文件夹中,你可以关注Symfony Cookbook并将它们存储在/web/uploads之类的内容中。