Search code examples
phpamazon-web-servicesamazon-s3aws-php-sdk

AWS S3 list files in specific folder


I'm trying to list the files and folders in a specific folder in a S3 bucket. I would like to return the subfolder names in that folder, but not the contents of those subfolders.

I'm not sure if it can be done with the delimiter, but this is what I have:

$objects = $s3->getListObjectsIterator(array(
    'Bucket' => 'BUCKET NAME',
    'Prefix' => 'SUBFOLDER NAME/',
    'Delimiter' => '/'
));

foreach ($objects as $object) {
    echo $object['Key'] . "<br/>";
}

Solution

  • you can use the prefix and delimiter like you want.

    but you're going to need to do the filtering client side. S3 does not rely have the concept of a folder and it's just doing the delimiter thing to make exploring the key space more easily.