Как загрузить последний файл или недавно добавленный файл из Aws S3, используя PHP. (Yii2) - PullRequest
0 голосов
/ 29 мая 2020

У меня ведро S3 без поддержки версий (VersionId для всех файлов равен нулю), файлы имеют разные имена. Мой текущий код:

        $path = $this->key.'/primary/pdfs/'.$id.'/';

        $result = $this->s3->listObjects(['Bucket' => $this->bucket,"Prefix" => $path])->toArray();
       //get the last object from s3
        $object = end($result['Contents']);
        $key = $object['Key'];
        $file = $this->s3->getObject([
            'Bucket' => $this->bucket,
            'Key' => $key
        ]);
       //download the file
        header('Content-Type: application/pdf');
        echo $file['Body'];

Вышеуказанное неверно, поскольку дает конечный файл, который не является последним файлом. Нужно ли мне использовать приведенный ниже вызов API? если да, то как им пользоваться?

        $result = $this->s3->listObjectVersions(['Bucket' => $this->bucket,"Prefix" => $path])->toArray();

1 Ответ

0 голосов
/ 29 мая 2020

Поскольку VersionId всех файлов имеет значение null, в корзине должна быть только одна версия файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...