2017-01-30 52 views
0

我有一些麻煩列出了AWS S3 Bucket的某些前綴內的所有文件。使用AWS PHP SDK列出AWS S3 Bucket中的文件夾(前綴)內的所有文件

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

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

+0

嘗試刪除起點'/'字符。通常前綴不以分隔符開頭:''Prefix'=>'uploads/content/document /'' –

回答

1

你缺少最重要的關鍵的是設定

這樣 // 'AP-東南-1' 亞洲地區

  'region' => 'ap-southeast-1', 
相關問題