我只是在寻找使用file_get_contents
加载内容的解决方案
我的脚本工作正常,但有时文件没有加载,我知道如何检查file_get_contents
是否失败,但如何在没有页面重新加载的情况下再次尝试获取它?
$url = file_get_contents('url.to.file');
if ( $url === false )
{
// code to do it again, how?
}
答案 0 :(得分:0)
好的,我找到了自己的for循环解决方案。 它会尝试5次加载文件,如果加载循环将会中断
$url = file_get_contents('File');
if ( $url === false ) {
for ($x = 0; $x <= 5; $x++) {
$url = file_get_contents('File');
if ( $url === true ) {
break;
}
}
}
答案 1 :(得分:0)
然后你可以尝试运行循环中的get
$max_loop = 5;
while (FALSE == $url = file_get_contents('url.to.file') ) {
$cur_loop++
if ( $cur_loop >= $max_loop )
// indicate an error so can be put on page
break;
}
}
写在一个函数中,它可能看起来像这样
function get_url($the_url, $max_try)
$cur_loop = 0;
while (FALSE == $url = file_get_contents($the_url) ) {
$cur_loop++
if ( $cur_loop >= $max_try )
break;
}
}
return $url;
}
//called like this
$data = get_url('the.url',5);
if ( $data === false ) {
// error message
exit;
}