file_get_contents加载错误和循环?

file_get_contents load error and loop?

我只是在寻找使用 file_get_contents 加载内容的解决方案 我的脚本工作正常,但有时文件未加载,我知道如何检查 file_get_contents 是否失败但如何在不重新加载页面的情况下再次尝试获取它?

$url = file_get_contents('url.to.file');
if ( $url === false )
{
    // code to do it again, how?  
}

好的,我找到了自己的 for 循环解决方案。 它将尝试加载文件 5 次,如果加载 for 循环将中断

                $url = file_get_contents('File');
                if ( $url === false ) {
                    for ($x = 0; $x <= 5; $x++) {
                        $url = file_get_contents('File');
                        if ( $url === true ) {
                            break;
                        }
                    } 
                }

然后你可以尝试循环运行 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;
}