2015-04-04 54 views
-1

我需要远离来查看S3云上是否存在图像,我构建了一个应用程序来排序从本地到网络的合并数据,它实际上是简单,我几乎完成了,从本地应用程序我得到一个JSON文章...所以在该JSON我得到一个图像名称“prety_image.jpg”,然后保存到数据库,但在我保存之前,我需要检查该图像是否存在于S3云中,我有S3网址... //foo.cloudfront.net/并显示图像,我所做的只是添加图像的名称...对于我所拥有的看到的是,如果图像确实存在其显示图像..但如果图像不存在,我发现了一个XML文件
检查文件是否是aws上的图像或xml S3

<Error> 
<Code>AccessDenied</Code> 
<Message>Access Denied</Message> 
<RequestId>13A57760</RequestId> 
<HostId>3/uj7Ro77bGnjzGZVABUXvVVg4=</HostId> 
</Error> 

所以我要的是个如果我得到这个错误,然后保存一个空白的图像,如果没有,然后只是保存图像...但我不知道该怎么做...我没有使用aws sdk,我下载了但我不' t知道该怎么做...我已经使用其他SDK的,但AWS SDK只是我的大脑的方法..

回答

0

我找到一个解决方案,而不使用AWS SDK,其实很简单...
这个功能是我的类中,但我只是要放在这里......

function httperr($url) 
    { 
     $headers = get_headers($url); 
     return substr($headers[0], 9, 3); 
    } 

的我只是把它这样

if (intval(httperr(S3AWS . $img)) === 200) { 
    $image = '<img src="'.S3AWS . $img.'" > <br>- Exist'; 
} else { 
    $image = 'No image here...'; 
} 

S3AWS是网址,$ img只是图像的名称...所以如果标题是好的200那么图像确实存在,如果不是那么没有图像,并且工作得很好.. 。

相关问题