检查另一台服务器中是否存在图像文件

时间:2015-02-13 12:11:53

标签: php file

我在两台服务器上工作(A和B,我需要在A上显示来自B的一些图像。问题是我需要测试图像是否存在(否则我只显示客户端的名称)。

当我在本地测试时,这有效:

 if (file_exists(http://www.example.com/images/3.jpg)) {
     // I show the file here
 } else {
     // I just show the name
 }

但是,现在不行。求救!

3 个答案:

答案 0 :(得分:3)

您无法使用file_exists来检查远程文件。

使用get_headers函数并检查文件是否返回200

$file_headers = get_headers('http://www.example.com/images/3.jpg');

if ($file_headers[0] == 'HTTP/1.1 200 OK') {
    echo "The file exists";
} else {
    echo "The file doesn't exist";
}

答案 1 :(得分:1)

尝试使用此

$array= get_headers("http://images.visitcanberra.com.au/images/canberra_hero_ima.jpg");
   echo  $h= $array[0];

如果不存在,将返回 HTTP / 1.1 404 Not Found HTTP / 1.1 200 OK 如果存在

答案 2 :(得分:0)

function is_file_on_url_exists($url)
{
    if (@file_get_contents($url, 0, NULL, 0, 1))
    {
        return true;
    }
    return false;
}

尝试一下!!