[php] file_get_contents() bij lezen van site die plat ligt

Pagina: 1
Acties:

Onderwerpen


  • youngster
  • Registratie: Maart 2004
  • Laatst online: 20-05 09:48
In een php-script lees ik met behulp van file_get_contents() een gedeelte uit een andere website. Als deze site echter plat ligt krijg ik een timeout en stopt mijn script. Is hier een oplossing voor?
Ik heb het al in een if-statement staan, maar dat maakt niet uit:
PHP:
1
if($info = file_get_contents('www.test.nl/test.html'))


Het zou handig zijn als hij bijvoorbeeld een false zou returnen als hij de server na 5 seconden nog niet heeft kunnen bereiken.
Iemand ideeën?

Real programmers don't comment their code... it was hard to write, it should be hard to read!


Verwijderd

Hallo,

We kunnen het hier niet testen maar misschien is het een optie om eerst met de functie file_exists te kijken of de website daadwerkelijk bereikbaar is en dan pas de inhoud uit te lezen ..

Nogmaals: we kunnen het hier niet testen maar misschien een optie ..

Veel succes!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Met fopen fsockopen kan je wel een timout instellen.

[ Voor 41% gewijzigd door djluc op 16-09-2004 16:35 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Als je een @ teken ervoor zet kun je ervoor zorgen dat fouten genegeerd worden geloof ik. Ik heb dit uit de manual:
http://nl2.php.net/manual...perators.errorcontrol.php

en hier zie je een voorbeeld hoe je een eigen errorhandler schrijft:
http://nl2.php.net/manual/nl/ref.errorfunc.php , wel naar beneden scrollen naar de uservoorbeelden...

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 16:37

Basszje

Reisvaap!]

Met @ staat hij dan wel eerst op een timeout te wachten (duurt lang dus ) . Wellicht mogelijkheid om via shell een ping te geven en bij onlineheid pas de functie aan te roepen :?

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Basszje schreef op 16 september 2004 @ 16:08:
Met @ staat hij dan wel eerst op een timeout te wachten (duurt lang dus ) . Wellicht mogelijkheid om via shell een ping te geven en bij onlineheid pas de functie aan te roepen :?
onnodig pingen imo, gewoon met fsockopen een verbinging maken met een (korte) timeout :)

  • JasperE
  • Registratie: December 2003
  • Laatst online: 11-09 18:26
djluc schreef op 16 september 2004 @ 14:42:
Met fopen kan je wel een timout instellen.
Kan wel maar op een server waar ik dat ooit probeerde (rh9-php4.2.2 d8 ik) maakte het gek genoeg geen verschil :? Nog steeds duurde het laden van de pagina veel te lang.

Je kunt het dus proberen maar sta er niet van te kijken als het dan nog niet werkt :)

[ Voor 8% gewijzigd door JasperE op 16-09-2004 16:15 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
OD-Frozen schreef op 16 september 2004 @ 16:15:
[...]
Kan wel maar op een server waar ik dat ooit probeerde (rh9-php4.2.2 d8 ik) maakte het gek genoeg geen verschil :? Nog steeds duurde het laden van de pagina veel te lang.
Ik bedoelde fsockopen, maar ik hoop dat dit al duidelijk was. Ik heb mijn post even aangepast.

Ik heb overigens al weleens gehoord dat door een bug in bepaalde versies de timeout niet functioneel was.

  • JasperE
  • Registratie: December 2003
  • Laatst online: 11-09 18:26
djluc schreef op 16 september 2004 @ 16:40:
[...]
Ik bedoelde fsockopen, maar ik hoop dat dit al duidelijk was. Ik heb mijn post even aangepast.

Ik heb overigens al weleens gehoord dat door een bug in bepaalde versies de timeout niet functioneel was.
het was iig iets met f*open ja. Ik herinner me dat nog best goed omdat ik de docs wel 10x heb doorgelezen omdat ik niet snapte waarom het niet gewoon werkte. Was al een tijdje geleden.... :)

Verwijderd

als je PHP 5 hebt.. kan je context gebruiken
Note: Context support was added with PHP 5.0.0.
daarme kan je ook timeout zetten voor file_get_contents dacht ik gezien te hebben
Pagina: 1