如何使用 PHP 从 Aws S3 下载最新文件或最近添加的文件.(Yii2)



我有一个不受版本控制的 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();

由于所有文件的 VersionId 均为空,因此存储桶中应该只有一个版本的文件

最新更新