Gaufrette загружает изображение и хранит в Amazon 3


Я использую пакет 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, а затем я попытался переместить этот файл в amazon:

$filesystem->get('somefilesystem')->rename($tmpPath , $destinyPath);

Исключением является бросок:

The file "/tmp/phpR4YbZN" was not found.

Это имеет смысл, потому что файл еще не находится в amazon, и я работаю над этой файловой системой. Но я бы хотел знаю, как я мог бы загрузить файл в AmazonS3 из моей локальной файловой системы.

Спасибо!!!

Author: Fernando P. G., 2013-01-29

1 answers

Вы хотите сделать это?:

$filesystemMap
   ->get('somefilesystem')
   ->write($destinyPath, file_get_contents($tmpPath))
;`

Просто обратите внимание, что метод записи имеет третий аргумент "перезаписать " (по умолчанию false).

Вы можете зарегистрировать оболочку потока и работать как с обычными API/функциями php-файлов. Пожалуйста, смотрите https://github.com/KnpLabs/KnpGaufretteBundle#stream-wrapper для получения дополнительной информации.

 4
Author: l3l0, 2013-01-29 22:59:07