簡體   English   中英

aws sdk php用於列出s3文件夾

[英]aws sdk php for listing s3 folders

我知道的一些事情。 文件夾不是S3的概念,它們只是一個零字節對象,其鍵名使用'/'作為前綴。 假設我們稱它們為文件夾和文件以簡單起見會使我的問題更容易用語。

可以使用prefix =“root /”執行s3-> get_object_list(..)並獲取所有文件/文件夾。 我的問題是這個。

給出例如文件夾和子文件夾的列表

root/  
root/folder1/  
root/folder1/file1.txt  
root/folder2/ 
root/folder3/file2.txt

我怎樣才能列出文件夾。 我希望阻止列出所有文件(即使在回復時他們不需要返回)但是php中的get_object_list當前不支持commonPrefixes參考: http ://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonS3/get_object_list甚至雖然文檔說明代碼顯然沒有,並且使用分隔符實際上只會返回根文件夾中的文件(前綴)

我想知道是否有人使用任何技術后回應或請求幫助這種情況。

我已經嘗試了我能想到的前綴,分隔符和標記的每個組合。 對PCRE不太好,但我確定我可以使用我只有一個級別的深層文件夾,但我不知道如何為這種情況構建一個。 由於我的請求不起作用,我繼續接受所有文件和文件夾的響應,並希望在php中排序...或者我認為

我已經嘗試過post響應:dirname() - 沒有使用錯過了一些文件夾(空的),確定我可以刪除數組中的重復項但錯過文件夾的問題存在pathinfo() - 行為與dirname()相同,假設所有路徑都以文件名結尾。 glob - 沒有運氣,和上面一樣。

因為我已經浪費了半天的時間,所以我希望有人處理過這個問題並願意分享:

注意:我在python和boto中執行此操作沒有問題。 但這不是python,我必須在PHP中為此項目執行此操作。

你把get_object_list()list_objects() 請參閱: https//forums.aws.amazon.com/thread.jspa?threadID = 106277&tstart = 0

暫無
暫無

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

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