首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在PHP中只列出S3中的文件夹

在PHP中,可以使用AWS SDK for PHP来实现列出S3中的文件夹。以下是一个示例代码:

代码语言:php
复制
<?php
require 'vendor/autoload.php'; // 引入AWS SDK for PHP

use Aws\S3\S3Client;
use Aws\Exception\AwsException;

// 配置AWS凭证和区域
$credentials = new Aws\Credentials\Credentials('your_access_key', 'your_secret_key');
$region = 'your_region';

// 创建S3客户端
$s3Client = new S3Client([
    'version' => 'latest',
    'region' => $region,
    'credentials' => $credentials
]);

$bucket = 'your_bucket_name'; // S3存储桶名称
$prefix = 'your_folder_prefix'; // 文件夹前缀

try {
    // 列出S3存储桶中指定前缀的对象
    $objects = $s3Client->listObjects([
        'Bucket' => $bucket,
        'Prefix' => $prefix
    ]);

    // 遍历对象并输出文件夹名称
    foreach ($objects['Contents'] as $object) {
        $key = $object['Key'];
        if (strpos($key, $prefix) === 0 && substr_count($key, '/') === 1) {
            $folderName = explode('/', $key)[0];
            echo $folderName . "\n";
        }
    }
} catch (AwsException $e) {
    echo $e->getMessage();
}
?>

上述代码使用AWS SDK for PHP创建了一个S3客户端,并通过listObjects方法列出了指定前缀的对象。然后,遍历返回的对象列表,判断对象的Key是否以指定前缀开头且只包含一个斜杠,如果满足条件,则将文件夹名称输出。

推荐的腾讯云相关产品是对象存储(COS),它是一种高扩展性、低成本的云端对象存储服务,适用于存储和处理大规模非结构化数据。您可以通过访问腾讯云对象存储(COS)的产品介绍链接了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券