簡體   English   中英

使用 AWS PHP SDK 列出 AWS S3 存儲桶內文件夾(前綴)中的所有文件

[英]List all files within a folder (prefix) inside an AWS S3 Bucket using the AWS PHP SDK

我在列出 AWS S3 存儲桶的某個前綴內的所有文件時遇到了一些麻煩。

我搜索和搜索,但似乎只能找到相同的信息:

try {
$objects = $s3Client->getIterator('ListObjects', array(
    'Bucket' => 'BUCKETNAME',
    'Prefix' => '/uploads/content/document/'
));
    foreach ($objects as $object) {
        echo $object['Key'] . "\n";
    }
} catch (S3Exception $e) {
    echo $e->getMessage() . "\n";
}

如果我print_r($objects) ,這將返回相當多的信息,但是,循環中沒有任何內容被回顯,無論我嘗試什么,我似乎都無法讓它列出任何文件。

我實際上還有另外 6 個文件夾,我想從中檢索文件列表,但是,顯然現在需要讓它只處理document

我嘗試刪除前綴上的最后一個 / ,以及使用“ listObjects ”:

$s3Client->getIterator('listObjects' ...

甚至嘗試使用ListObjectsListObjectsV2的不同方法(找到此信息)。 第一個有效,但同樣沒有列出任何文件,第二個方法也沒有找到。

$s3Client->ListObjects(array( ...
$s3Client->ListObjectsV2(array( ...

毫無疑問,我錯過了一些東西。 我想要實現的只是每個文件夾/前綴中所有文件名的列表,所以我可以列出這些並使用一些聰明的 jQuery 在我們的 CMS 中選擇時將它們添加到文檔中,確保應該有更多關於此的信息某處!!!

任何幫助將非常感激。

print_r($objects)返回: http : //pastebin.com/YwWLLsSK

您缺少最重要的鍵來設置哪個是

像這樣//亞洲地區的'ap-southeast-1'

            'region'  => 'ap-southeast-1',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM