如何使用 PHP 列出 Google Cloud Storage 中存储桶中的所有文件


How to list all the files from a bucket in Google Cloud Storage using PHP?

有没有办法使用 php 列出 Google Storage 中存储桶中的所有文件?我能够通过我找不到列出所有这些文件的方法上传和下载文件?

在文档中,有使用 Java 或 Python 列出的示例...但不是 PHP。

https://cloud.google.com/storage/docs/json_api/v1/objects/list

那么有什么想法吗?

谢谢!

编辑我找到了一个解决方案.谁能确认这是正确的方法?

我找到了答案。我没有测试得足够.奇怪的是,我们在 php 的文档上找不到这个。

            $storage = new Google_Service_Storage($this->gcsClient);
            $listObjects = $storage->objects->listObjects($this->bucket, array());
            $items = $listObjects->getItems();
            foreach ($items as $item) {
               print_r($item["name"]);
            }

任何人都可以确认这是列出存储桶中文件的正确方法吗?

这对我有用:

use Google'Cloud'Storage'StorageClient;
$projectId = 'my-project';
$config = [
'projectId' => $projectId,
];
$storage = new StorageClient($config);
$bucket = $storage->bucket('my-bucket-media-files');
foreach ($bucket->objects() as $object) {
  echo '<pre>';
  printf('Object: %s' . PHP_EOL, $object->name());
}

参考资料: https://cloud.google.com/storage/docs/listing-objects?hl=pt-br#code-sampleshttps://github.com/GoogleCloudPlatform/php-docs-samples/blob/HEAD/storage/src/list_objects.php