我正在使用捆绑https://github.com/KnpLabs/Gaufrette,这是我的配置:
knp_gaufrette:
adapters:
someadapter:
amazon_s3:
amazon_s3_id: service.amazon.s3
bucket_name: %amazon.s3.bucket_name%
create: true
filesystems:
somefilesystem:
adapter: someadapter
我有一个上传文件的表单。我的问题是文件上传到/ tmp / file目录,然后我试图将此文件移动到亚马逊:
$filesystem->get('somefilesystem')->rename($tmpPath , $destinyPath);
抛出异常:
The file "/tmp/phpR4YbZN" was not found.
这是有道理的,因为该文件尚未在亚马逊中,我正在处理该文件系统。但我想知道如何从我的本地文件系统上传文件到AmazonS3。
感谢!!!
答案 0 :(得分:4)
$filesystemMap
->get('somefilesystem')
->write($destinyPath, file_get_contents($tmpPath))
;`
请注意,write方法有第三个“覆盖”参数(默认情况下为 false )。
您可以注册流包装器并像普通的php文件API /函数一样工作。有关详细信息,请参阅https://github.com/KnpLabs/KnpGaufretteBundle#stream-wrapper。