带有重定向的php数组图片

时间:2017-02-16 11:21:45

标签: php arrays

有一个图片位置很多的文件, foo.txt

http://foo/bar1.png
http://foo/bar2.png
http://foo/bar3.png

我制作一个数组,每个都显示,但有些图片丢失了。 因此,服务器为所有人转发相同的404图像。

http://foo/404_bar.png

我如何显示图片 - 如果有重定向,则此图片不显示。我们需要动态地理解这一点。

$lines = file("foo.txt")
foreach ($lines as $line_num => $line) {
echo '<img src="', $line ,'"><br>';}

浏览器显示:

bar1.png
404_bar.png
404_bar.png

由于服务器上缺少bar2.png和bar3.png图像,因此显示404_bar.png。我只需要显示:

bar1.png

我认为有必要挖掘标题。

1 个答案:

答案 0 :(得分:0)

我从你的问题中了解到,你只需要显示已存在的图像,所以你应该检查网址是否存在:

$lines = file("foo.txt")
foreach ($lines as $line_num => $line) {
    if(is_url_exist($line))
        echo '<img src="', $line ,'"><br>';
}

function is_url_exist($url){
    $ch = curl_init($url);    
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_exec($ch);
    $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    if($code == 200){
       $status = true;
    }else{
      $status = false;
    }
    curl_close($ch);
   return $status;
}