在PHP中,可以使用AWS SDK for PHP来实现列出S3中的文件夹。以下是一个示例代码:
<?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)的产品介绍链接了解更多信息。
领取专属 10元无门槛券
手把手带您无忧上云