2013-03-08 88 views
0

我爲商店工作的公司在其服務器上處理來自其客戶端的文件,併爲每個客戶端提供一個簡單頁面,該頁面鏈接到服務器上的文件目錄。每個客戶端都有一個文件夾,其中任何一個都可能有許多子文件夾。如何以分層方式檢索S3存儲桶內容?

我最近將此設置移至Amazon S3存儲桶。我的問題是,當我檢索存儲桶的內容時(使用我在網上找到的S3 php類),它會返回一個包含整個內容的大量FLAT數組。我可以對此進行過濾,以便每個客戶端只能看到他們的目錄,但將這種分層數據結構轉換爲以後的顯示會被證明是一個巨大的麻煩。

是否有任何函數以某種方式返回S3項目,以反映它們的結構?如果不是這樣,這可能會變成一個關於從大陣列平面陣列生成多維陣列的問題。

謝謝! Chris

回答

0

S3支持分級使用前綴和分隔符的列表鍵,更多信息請參見docs

0

使用前綴和delimeters來獲取文件列表。

<?php   
    $prefix = "jsondata/$folderName/$subFolderName/temp/"; 
    //$bucketname is a root bucket name 
    $ret = $s3->getObjectsByBucket($bucketname, array(
     'prefix' => $prefix, 
     'delimiter' => '' 
    )); 
    ?> 
相關問題