Hoi, daar ben ik weer :o)

Ik heb nog een klein vraagje:

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.

een if'je en een elsje om deze code heen?


<?

define(feed,'http://www......';);


?>

groetjes en alvast bedankt!


Marije schreef op 26.09.2006 22:55
aah dat klinkt inderdaad logisch hehe...

daarom werkt deze waarschijnlijk ook niet :

http://www.tctubantia.nl/regio/almelo/?service=rss



Bij mij wordt deze wel gevonden door mijn script hoor. Maar gek dat hij het bij jullie niet doet...

Bij mij doetr hij het trouwens ook alleen online, op localhost werkt ie niet.

Ik zal is even gaan kijken wat wel werkt.
Jan Koehoorn schreef op 27.09.2006 00:17
[quote=Jelmer schreef op 26.09.2006 22:58]Had ik uiteraard ook aan gedacht, maar
http://www.ikhoefgeen.nl/index.php bestond niet...

Omdat het script van PHP newbie er dan http://http://enz van maakt. Als je dit invult:

www.ikhoefgeen.nl/index.php

dan bestaat hij wel.[/quote]

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

Warning: fopen(http://www.ikhoefgeen.nl/index.php) [function.fopen]: failed to open stream: Unknown error: 0 in /Users/jelmer/Sites/test.php on line 9
http://www.ikhoefgeen.nl/index.php bestaat niet
kreeg.

(eigenlijk zou ik dat helemaal niet mogen krijgen, maar dit maal is het niet de schuld van PHP, maar van mijn hosters.)
Ja, maar nog steeds is je website 30 seconden langzamer waneer de RSS-feed niet beschikbaar is...
Bij mij niet ;-)

En lukt het niet met die set timeout?

Reageren