如何存储图像?

时间:2012-10-09 16:24:20

标签: php symfony

我不明白Gaufrette和symfony2。

This在我看来它只适用于textfiles / textcontent。 我可以创建一个文件但不能从本地源(即路径)复制。

我想做的是这样的事情:

$adapter = new LocalAdapter($realpath);
$filesystem = new Filesystem($adapter);
$filesystem->fromUploadedFile($tempPathOfUploadedFile,$idForGaufrette);

如何存储图像以及如何在用户请求时处理它的输出?

更新:

  • 如何在symfony“?
  • 中访问上传文件的临时文件名
  • 如何访问Symfony2中Symfony\Component\HttpFoundation\File\UploadedFile对象中存在的现有私有属性$ path?

2 个答案:

答案 0 :(得分:3)

方法copy(x, y)未实现,但如果要存储文件,可以使用该方法移动它 rename($key, $new)Filesystem Class中定义。

为了在用户请求时处理输出,您只需要一个指向图像路径的链接(可能在数据库中)。所以你不需要文件系统(你可以使用has($key)方法检查文件是否存在)。

在所有情况下,使用适配器Local在本地工作。

如果您需要像“ftp:// mydomain / myPicture”这样的流包装器,我最近发送PR来配置config.yml中的流包装器,并注册您想要的filiesystems及其域。 / p>

答案 1 :(得分:2)

获取tmp文件名:

$file->getPathName(); // /tmp/filename

其中$ file是Symfony\Component\HttpFoundation\File\UploadedFile对象。