Håndtering / hindring af fopen() warnings
Jeg har gennem det sidste stykke tid arbejdet på et script som læser en given URI og parser dens XML.Mit problem er at nu og da kommer fopen() med en warning som denne:
Warning: fopen(http://url.com) [function.fopen]: failed to open stream: HTTP request failed! in /path/to/file.php on line XXX
Min kode der rent faktisk åbner URL'en er således (udsnit af det, der rent faktisk gør noget):
[...]
$fhandle = fopen($uri, "r");
$data = "";
if ($fhandle !== false) {
while (!@feof($fhandle)) {
$data .= fread($fhandle, 81920);
}
}
[...]
Og i 19 ud af 20 gange virker det glimrende, men der er bare nogle gange hvor at PHP kaster en warning.
Mit primære spørgsmål er - kan ovenstående kode laves bedre eller beror denne fejl på, som lidt er min grimme mistanke, timeout el. lign. ved connection til URL'en.