【问题标题】:Check if file is an image or an xml on aws S3检查文件是 aws S3 上的图像还是 xml
【发布时间】:2015-06-09 08:12:50
【问题描述】:

我需要离开以查看 S3 云上是否存在图像,我正在构建一个 APP 来将数据从本地合并到网络,这实际上很简单,我几乎完成了,从本地应用程序我'我得到一个 json 帖子......所以那个 json 我得到一个图像名称“prety_image.jpg”,然后保存到数据库,但在我保存它之前,我需要检查该图像是否存在于 S3 云中,我有 S3 url ... //foo.cloudfront.net/ 并显示图像我所做的就是添加图像的名称...因为我所看到的是,如果图像确实存在,它会显示图像.. 但如果图像不存在,我会得到一个 xml 文件

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

所以我想要的是,如果我收到此错误,则保存一个空白图像,如果不是,则只需保存图像...但我不知道该怎么做...我没有使用 aws sdk,我下载了,但我不知道如何处理它......我使用过其他 SDK,但 AWS SDK 对我的大脑来说只是一种方式......

【问题讨论】:

    标签: php image amazon-s3


    【解决方案1】:

    我找到了一个不使用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 是 url 而 $img 只是图像的名称...所以如果标题是 200 则图像确实存在,如果不存在则没有图像,并且工作正常...

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 2013-07-11
      • 2013-11-17
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 2021-08-14
      • 2014-08-31
      相关资源
      最近更新 更多