如何使用PHP列出Google云端存储中存储桶中的所有文件?

时间:2016-03-17 14:47:10

标签: php list google-cloud-storage google-api-php-client

有没有办法使用php列出Google Storage中存储桶中的所有文件?我能够上传下载文件,因为我无法找到列出所有这些文件的方法吗?

在文档中有使用java或python列出的示例...但不是PHP。

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

所有想法?

谢谢!

编辑我找到了解决方案。任何人都可以确认这是正确的方法吗?

2 个答案:

答案 0 :(得分:1)

我找到了答案。我没有测试它。奇怪的是我们在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"]);
            }

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

答案 1 :(得分:0)

这对我有用:

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-samples https://github.com/GoogleCloudPlatform/php-docs-samples/blob/HEAD/storage/src/list_objects.php