2017-02-16 1 views
0

Es gibt eine Datei mit vielen Speicherort der Bilder, foo.txt.PHP-Array von Bildern mit Redirect

Ich mache ein Array und jedes wird angezeigt, aber einige Bilder fehlen. Der Server leitet somit das gleiche 404 Bild für alle weiter.

Wie kann ich Bilder zeigen - wenn es eine Weiterleitung gibt, die dieses Bild nicht zeigt. Wir müssen das dynamisch verstehen.

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

Browser zeigen:

bar1.png 
404_bar.png 
404_bar.png 

Als bar2.png und bar3.png Bilder werden auf dem Server nicht gefunden, er wird 404_bar.png angezeigt. Ich muss nur anzeigen:

bar1.png 

Ich denke, es ist notwendig, die Header zu graben.

Antwort

0

wie ich aus Ihrer Frage zu verstehen, müssen Sie nur die existierten Bilder zeigen, so dass Sie die Urls überprüfen sollten, wenn sie vorhanden sind oder nicht:

$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; 
} 
+0

funktionieren nicht - leeren Bildschirm nur –