php - 动态获取 Amazon S3 存储桶中文件的大小

标签 php mysql amazon-s3 amazon-web-services amazon

我看过之前关于“如何找到整个 S3 存储桶的大小”的问题。这是一个不同的问题——所以如果它含糊不清,我提前道歉。我会尽力解释我想要实现的目标。

我目前正在使用 Amazon S3 PHP Class .

这就是我要实现的目标:

  1. 我希望能够遍历我的 MySQL 数据库并获取我的 S3 服务器上文件的特定文件名。 (这可能基于用户)。

  2. 在循环期间,查询 Amazon S3 存储桶(以某种方式)并获取我的 MySQL 循环中每个文件的文件大小。

  3. 将所有文件大小相加,得到一个总的近似字节大小。

所以,基本上,假设我有一个用户在 S3 存储桶上有 5 个文件。我如何才能查询 S3 存储桶,以查看该用户的 5 个文件在我的存储桶中存储了多少数据?

如果这很难理解,我深表歉意。如果需要,我可以重新表述。

任何朝着正确方向的插入将不胜感激。

最佳答案

您确实应该将文件大小存储在您的 Mysql 表中。更快地获取信息,减少 S3 成本。

但是……试试这个?

$s3 = new Aws\S3\S3Client($parameters);
$obj_data = $s3->headObject([
   'Bucket' => $bucket,
   'Key'    => $key
]);
echo 'Size is: '.$obj_data['ContentLength'];

关于php - 动态获取 Amazon S3 存储桶中文件的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452989/

相关文章:

ruby-on-rails - getaddrinfo 名称或服务未知 套接字错误 s3 fog carrierwave Figaro

php - 如何根据输出编写mysql查询?

php - <?php bp_activity_id() ?> 在 buddypress 中,有人达标了吗?

MySQL 匹配同一表中的列

mysql - 如何在 MySql 或 PostgreSql 中搜索电话号码,忽略破折号、括号和空格?

django - Flowplayer 无法使用 amazon s3 签名 url

php - 我怎样才能使这个简单的 block 更短更好?

php - 如何将两个sql查询合并为一个具有可变限制的sql查询

MySQL Order By 问题,为什么 1000 被视为小于 2?

asynchronous - Amazon S3 异步分段上传