Ik heb een functie die iets van een website opslaat naar de webserver.
Maar nou blijft hij soms in de fread of fgets loop hangen.
Het gekke is dat hij steeds met een andere url blijft hangen, dus het ligt niet aan de code ervoor want die haalt altijd de goede url van het bestand uit de code en die is ook niet down ofzo.
Hoe kan dat nou? En hoe kan ik ervoor zorgen dat hij als het om de een of andere reden niet lukt, uit de loop gaat.
Ik heb heel google al afgezocht, maar ik kon niets nuttigs vinden.
Maar nou blijft hij soms in de fread of fgets loop hangen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| $fp = @fsockopen("$host", 80, $errno, $errstr, 30); @stream_set_timeout($fp, 30); if($fp) { $out = "GET $file HTTP/1.0\r\n"; $out .= "Host: $host\r\n"; $out .= "Referer: $referer\r\n"; $out .= "User-Agent: Mozilla\r\n"; $out .= "Accept: text/xml,text/html,text/plain\r\n"; $out .= "Accept-Charset: ISO-8859-1,utf-8\r\n"; $out .= "Cache-Control: max-age=0\r\n"; $out .= "Connection: Close\r\n"; $out .= "\r\n"; $image = ""; $i=0; fputs($fp,"$out"); while(!feof($fp) && (connection_status()==0)) { $image .= fread($fp,4096); $i++; } } |
Het gekke is dat hij steeds met een andere url blijft hangen, dus het ligt niet aan de code ervoor want die haalt altijd de goede url van het bestand uit de code en die is ook niet down ofzo.
Hoe kan dat nou? En hoe kan ik ervoor zorgen dat hij als het om de een of andere reden niet lukt, uit de loop gaat.
Ik heb heel google al afgezocht, maar ik kon niets nuttigs vinden.