Php 如何存储图像?

Php 如何存储图像?,php,symfony,Php,Symfony,我不明白也不明白 在我看来,它只适用于文本文件/文本内容。 我可以创建文件,但不能从本地源(即路径)复制 我想做的是这样的: $adapter = new LocalAdapter($realpath); $filesystem = new Filesystem($adapter); $filesystem->fromUploadedFile($tempPathOfUploadedFile,$idForGaufrette); 如何存储图像以及在用户请求时如何处理其输出 更新: 如何访问

我不明白也不明白

在我看来,它只适用于文本文件/文本内容。 我可以创建文件,但不能从本地源(即路径)复制

我想做的是这样的:

$adapter = new LocalAdapter($realpath);
$filesystem = new Filesystem($adapter);
$filesystem->fromUploadedFile($tempPathOfUploadedFile,$idForGaufrette);
如何存储图像以及在用户请求时如何处理其输出

更新:

  • 如何访问symfony中上载文件的临时文件名“
  • 如何访问Symfony中
    Symfony\Component\HttpFoundation\File\UploadedFile
    对象中存在的现有私有属性$path
复制(x,y)方法未实现,但如果要存储文件,可以使用该方法移动它
重命名($key,$new)
在中定义

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

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


如果您需要一个流包装器,如“ftp://mydomain/myPicture“我最近发送了一个命令来配置config.yml中的流包装器,并注册您想要的文件系统及其域。

要获取tmp文件名:

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

其中,$file是一个
Symfony\Component\HttpFoundation\file\UploadedFile
对象。

我想你弄错了。我要寻找的是一种解决方案,在从请求接收到文件后,不必将其物理存储在某处,然后将其存储到gaufrette适配器。但是@anderschserj当你从表单接收到文件时,它就是“PHP”它将文件存储在“tmp/bigKey”中。您可以使用Gaufrete在其他文件系统(如amazon、ftp等)中编写此文件。。。但是如果你不想储存文件或移动文件,你想在这个文件中对Gaufrete进行什么操作呢?我的问题似乎更多地集中在symfony上。我想访问临时存储的文件,然后将其提交给Gaufrete,无需任何绕道。如何获取“tmp/bigKey”路径?我编辑了我的问题,并将问题添加到asko中,以获取“如何获取tmp文件名”,我认为这是错误的。为什么要将图像路径存储在数据库中?!Gaufrete使您无需关心文件的存储位置。你只需要名字和Gaufrete服务。存储路径将是毫无意义的,例如。g当您从本地适配器升级到AmazonS3时,所有存储路径都会出错。