检查图片是否存在于不同的域中

时间:2010-11-03 04:07:00

标签: php mysql image cross-domain

所以我正在开发一个网站,其中目录的图像列在与具有该目录的数据库/网站不同的域中。它的设置方式是家庭的姓氏加上配偶的第一个首字母组成图像名称,以便...

John and Kathy Doe

将对应图像:

doe-jk.jpg

我想要做的是,在显示数据库中每个列表的逻辑中,它检查该图像是否存在于另一个域中,如下所示:

$picture_name = "http://totally-different-domain.com/".$file_name;
    if ( isset( $picture_name ) )
    {
       echo $picture_name;
    }
    else
    {
       echo 'empty.jpg';
    }

当文件存在于不同的域名时,有人知道我该怎么做吗?

编辑:我的意思是单独的域,是脚本存在于http://domain1.com/directory.php,而directory.php中包含的图像位于http://totally-different-domain.com/doe-jk.jpg

2 个答案:

答案 0 :(得分:10)

您可以使用get_headers函数检查另一个域上是否存在文件,并检查您是否获得404.例如

$url = 'http://totally-different-domain.com/doe-jk.jpg'
$response = get_headers($url, 1);
$file_exists = (strpos($response[0], "404") === false);

答案 1 :(得分:2)

is_readable()检查存在性和可读性。

$picture_name = "http://totally-different-domain.com/".$file_name;
if (!is_readable($picture_name)) {
    $picture_name = 'empty.jpg';
}
echo $picture_name;