AWS SDK PHP版本2 - 检索图像尺寸?

时间:2012-12-19 06:35:58

标签: amazon-s3

是否可以检索存储在Amazon S3上的图像的尺寸?

如果答案是否定的,除了将图像下载到我的服务器之外还有其他方法吗?

我正在使用AWS SDK for PHP的第2版。

我一直在查看以下代码返回的内容,但似乎没有给出尺寸。

$result = $s3->getObject(array(
    'Bucket' => 'BUCKET_NAME',
    'Key'    => 'KEY_NAME'
));

var_dump($result);

3 个答案:

答案 0 :(得分:0)

由于缺乏回应,我认为这是不可能的......我不想用JavaScript做这件事,但这就是我做的。

<img src="image.jpg" id="image" />

<script>
// This runs after the image has loaded
$('#image').load(function() {
    // Use the below code to get the height and width
    // document.getElementById('image').width
    // document.getElementById('image').height
});
</script>

答案 1 :(得分:0)

我不是100%熟悉SDK2。使用1.5你可以做到这一点

getimagesize($s3->get_object_url($bucket,$filename)); 

我认为只要您可以公开访问该图片(或者您必须找到授权网址的方式),这仍然是可能的。

显然,必须启用你的php才能打开远程文件。

答案 2 :(得分:0)

我同意数据库缓存。我通过一个检查mysql匹配的类来运行每个图像文件名。如果找到一个,它会返回宽度,高度和预先格式化的sizetag。如果未找到图像和大小,则使用getimagesize()返回相同的信息,该信息将在下次存储。我还建立了一个调整大小的方法,如果我想作弊,并在运行中按比例调整sizetag(但不是文件)的大小。

我不知道在下载时是否存储信息的速度比getimagesize()快。 S3非常快。