Weet iemand hoe ik het volgende probleem kan oplossen? :
Ik heb een rss feed in mijn pagina en nu wil ik dat als er geen feed is (ik zag laatste dat de feed even offline was?) dat hij dan netjes zegt: er is geen feed beschikbaar.
Uiteraard ook aan gedacht, maar dat kreeg ik als uitvoer terug. Ik heb dus wel degelijk http:// achterwege gelaten. Helaas Jan, hij werkt gewoon niet bij mij ;)
Een nieuwe versie welke bij mij ook op localhost werkt.
Ik zei in mijn vorige post ook al dat dat script alleen op mijn host werkte. Dus hier een nieuwe versie, dit keer niet met file_exists() maar met fopen ;-)
<?php
error_reporting(E_ALL); //even zorgen dat we errors krijgen
ini_set('display_errors', 1); //en nog 1tje
//ini_set('max_execution_time', 2); //haal de slashes weg als je erg lang moet wachten voordat je resultaat krijgt
if(!empty($_GET['url'])) //als de ?url is geset
{
$_GET['url'] = str_replace('http://', '', $_GET['url']); //eventueel http:// replacen door niks
if(@fopen('http://'.$_GET['url'], 'r')) //als er geopend kan worden
{
echo 'http://'.$_GET['url'].' bestaat'; //dan bestaat de file
}
else //anders
{
echo 'http://'.$_GET['url'].' bestaat niet'; //bestaat de file niet
}
}
else
{
?>
<form action="#" method="get">
Url: http://<input name="url" type="text"><br />
<br />
<input type="submit" value="submit"></form>
<?php
}
?>
Het nadeel van fopen is echter dat je geen timeout kan instellen. Ik moest dus ook daadwerkelijk 30 seconden wachten voordat ik
Warning: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo failed: No address associated with nodename in /Users/jelmer/Sites/test.php on line 9