Verwijderd schreef op 15 augustus 2002 @ 09:32:
Inmiddels lukt het om het script op de console uit te voeren met flush(). Alleen loopt het af en toe nog vast. Volgens mij als ik zelf ook internet, is de kans groter dat het script vastloopt.
Ik weet nu precies waar het vastloopt (heb op elke regel een cijfer gezet).
PHP:
1
2
3
4
5
6
| $fd = @fopen($filename,"rb");
while(!feof($fd))
{
$contents.= fread($fd,1024);
// hier blijft het soms hangen
} |
Komt dat doordat het bestand (webpagina) niet te benaderen is?
fopen heeft geen timeout mogelijkheid en aangezien je de time_limit op 0 hebt staan, zou dat wel eens voor problemen kunnen zorgen.
Misschien kan je gebruik maken van fsockopen, die heeft een time_limit parameter.
of je kan gebruik maken van exec en lynx --dump <URL> > Filename .
Over de dump parameter ben ik niet helemaal zeker, controleer dat in de manual van lynx!
offtopic:
"rb" gebruiken op een *nix machine is niet nodig, alleen "r" is voldoende.
[quote]
The mode may contain the letter 'b'. This is useful only on systems which differentiate between binary and text files (i.e. Windows. It's useless on Unix). If not needed, this will be ignored.
[/quote]
Programmer - an organism that turns coffee into software.