RSS feed error afvangen als feed niet bereikbaar is

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Marije

Marije

26/09/2006 22:06:00
Quote Anchor link
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?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?

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


?>


groetjes en alvast bedankt!
 
PHP hulp

PHP hulp

22/12/2024 09:20:40
 
Frank -

Frank -

26/09/2006 22:10:00
Quote Anchor link
Waarom probeer je het niet? Hij bijt niet!

Geef even een niet-bestaande feed op om de boel te testen.
 
Marije

Marije

26/09/2006 22:11:00
Quote Anchor link
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?
 
Winston Smith

Winston Smith

26/09/2006 22:15:00
Quote Anchor link
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.
 
PHP Newbie

PHP Newbie

26/09/2006 22:19:00
Quote Anchor link
daar is toch file_exists() voor uitgevonden?
 
Jelmer -

Jelmer -

26/09/2006 22:19:00
Quote Anchor link
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:
Quote:
Opmerking: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Marije

Marije

26/09/2006 22:24:00
Quote Anchor link
had het idd al geprobeerd ;) kan niet hehe
 
Winston Smith

Winston Smith

26/09/2006 22:26:00
Quote Anchor link
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.
 
PHP Newbie

PHP Newbie

26/09/2006 22:37:00
Quote Anchor link
Jelmer:
...
edit:
Gefeliciteerd PHP Newbie, je hebt de zoveelste die over het hoofd ziet dat:
Quote:
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
 
Marije

Marije

26/09/2006 22:38:00
Quote Anchor link
wat voor code heb je daar voor gebruikt?
 
Jelmer -

Jelmer -

26/09/2006 22:42:00
Quote Anchor link
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...
 
PHP Newbie

PHP Newbie

26/09/2006 22:43:00
Quote Anchor link
Jelmer, ik heb hem even aangepast, kun je het zelf bekijken.

De code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
    error_reporting(0);
    
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {

        if(file_exists('http://'.$_POST['url']))
        {

            echo 'http://'.$_POST['url'].' bestaat';
        }

        else
        {
            echo 'http://'.$_POST['url'].' bestaat niet';
        }
    }

    else
    {
        ?>

        <form action="#" method="post">
        Url: http://<input name="url" type="text"><br />
        <br />
        <input name="submit" type="submit" value="submit"></form>
        <?php
    }
?>


error_reporting op 0 is niet mijn gewoonte, maar omdat ik het nu even vlug geschreven heb, heb ik het toch maar even gedaan.

Edit:

code tags toegevoegd


Edit:

Een gewone 404 van apache ziet ie niet als pagina, maar een zelf gemaakte (zie chess-web.nl/aasdasddsf) bestaat wel volgens php.
Gewijzigd op 01/01/1970 01:00:00 door PHP Newbie
 
Jelmer -

Jelmer -

26/09/2006 22:51:00
Quote Anchor link
Helaas, bij mij werkt hij niet:
Quote:

Ik krijg altijd 'bestaat niet', ook bij 'localhost'.

PHP Version 5.1.2
lokaal getest terwijl ik deze post typ, dus ik had wel degelijk internetverbinding. Verder geen fopen-wrappers geblokkeerd.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
 
Marije

Marije

26/09/2006 22:52:00
Quote Anchor link
bij mij ook niet :(
 
Jan Koehoorn

Jan Koehoorn

26/09/2006 22:53:00
Quote Anchor link
Lijkt me ook logisch, want http://www.phphulp.nl is geen bestand. http://www.phphulp.nl/index.php is dat wél.
 
Marije

Marije

26/09/2006 22:55:00
Quote Anchor link
aah dat klinkt inderdaad logisch hehe...

daarom werkt deze waarschijnlijk ook niet :

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

Winston Smith

26/09/2006 22:56:00
Quote Anchor link
Toch deed phphulp.nl (zonder index.php) het wel bij Newbie. :/

Die mysterieuze dingen in het leven soms... :)

Edit:
http://www.tctubantia.nl/regio/almelo/?service=rss werkt bij Newbie dus ook :S
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
 
Jelmer -

Jelmer -

26/09/2006 22:58:00
Quote Anchor link
Jan:
Lijkt me ook logisch, want http://www.phphulp.nl is geen bestand. http://www.phphulp.nl/index.php is dat wél.

Had ik uiteraard ook aan gedacht, maar
http://www.ikhoefgeen.nl/index.php bestond niet...

En technisch gezien is http://localhost/ wel degelijk een webpagina. Ik krijg immers wel degelijk een pagina door Apache voorgeschoteld.
 
Marije

Marije

26/09/2006 23:35:00
Quote Anchor link
ok nu weet ik dus welke functie niet werkt :P weet iemand welke wel werkt?
 
Jan Koehoorn

Jan Koehoorn

27/09/2006 00:17:00
Quote Anchor link
Jelmer:
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.
 
CB2thephp

CB2thephp

27/09/2006 07:24:00
Quote Anchor link
Mooie code php newbie :D Hier kunnen we weer veel van leren.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.