Dod*_*nas 5 php mysql amazon amazon-s3 amazon-web-services
我之前看过"如何找到整个S3存储桶大小"的问题.这是一个不同的问题 - 所以如果它含糊不清,我会事先道歉.我会尽力解释我想要实现的目标.
我目前正在使用Amazon S3 PHP Class.
这就是我想要实现的目标:
我希望能够遍历我的MySQL数据库并在我的S3服务器上获取文件的特定文件名.(这可能基于用户).
在循环期间,查询Amazon S3存储桶(以某种方式)并获取MySQL循环中每个文件的文件大小.
添加所有文件大小,以获得一个大致的字节大小.
所以,基本上,假设我的用户在S3存储桶上有5个文件.我怎样才能查询S3存储桶,查看该用户的5个文件存储在存储桶中的数据量?
如果难以理解,我道歉.如果需要,我可以重新表达清楚.
任何朝着正确方向的推动都将非常感激.
小智 12
你真的应该将文件大小存储在你的Mysql表中.更快获得信息,减少S3成本.
但是......试试这个?
$info = $s3->getObjectInfo($bucketName, $filename);
print $info['size'];
Run Code Online (Sandbox Code Playgroud)
小智 7
现在AWS已经发布了支持PHP SDK,您可能需要考虑切换到使用它:http://aws.amazon.com/sdkforphp/.
它还包括用于获取对象大小的api:get_object_filesize().
我同意John Ventimiglia的观点.每次拨打S3都需要时间并且需要花钱.如果您可以在本地存储信息,它将提供更好的客户体验(更快)并且更便宜.
2015年我必须使用http://docs.aws.amazon.com/aws-sdk-php/v2/guide/feature-s3-stream-wrapper.html
$client->registerStreamWrapper();
Run Code Online (Sandbox Code Playgroud)
进而
$size = filesize('s3://' . $bucket . '/' . $key);
Run Code Online (Sandbox Code Playgroud)
我希望这会对某人有所帮助。
| 归档时间: |
|
| 查看次数: |
11320 次 |
| 最近记录: |