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!


Waarom probeer je het niet? Hij bijt niet!

Geef even een niet-bestaande feed op om de boel te testen.
haha nou ik weet niet wat de parameters moeten zijn voor de if en de else lus :) Hoe check ik of een feed in de lucht is?
If en else hebben geen parameters.

Ik denk dat je best even kan kijken of de feed online is met fopen of sockets. Krijg je een timeout, dan weet je dat de feed offline is.
daar is toch file_exists() voor uitgevonden?
Volgens mij hebben we het over dit script.

In dat geval moet je file_get_contents() inderdaad vervangen door een eigen gebakken fsockopen met timeout op iets dat redelijk is.

Je zou bijvoorbeeld dit script kunnen nemen, alle fopen/fwrite-delen die naar het lokale bestand verwijzen kunnen vervangen door het schrijven naar een variabele, en op regel 22 de timeout van 30 terug naar iets in de richting van 5, of 3 seconden brengen.

edit:
Gefeliciteerd PHP Newbie, je hebt de zoveelste die over het hoofd ziet dat:
Opmerking: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem.
had het idd al geprobeerd ;) kan niet hehe
Nadeel is wel dat het de laadtijd van je pagina omhoog schroeft. Je bent dus al 3 sec. langer bezig.

Je zou kunnen overwegen om de uitkomst van het testen van het online zijn van de feed op de server op te slaan (serverside cachen) en die periodiek te verversen. Zo voorkom je een hogere laadtijd.
Jelmer schreef op 26.09.2006 22:19
...
edit:
Gefeliciteerd PHP Newbie, je hebt de zoveelste die over het hoofd ziet dat:
Opmerking: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem.


o nee?

http://phphulp.chess-web.nl/?p=file
wat voor code heb je daar voor gebruikt?
Blijkbaar tegenwoordig dus wel. Maar nu: Wat doet hij bij een 404 pagina, al geprobeerd? Of wat bij een domein waar wel een verwijzing naar is, maar niets geserveerd wordt. Hij haalt de pagina's niet op vermoed ik, want daar gaat hij veel te snel voor. Hij kijkt dus waarschijnlijk alleen of er een dns-record voor bestaat...

Reageren