跳过循环file_get_contents的500个响应

时间:2013-05-06 12:15:38

标签: php file-get-contents

这是交易......我通过foreach循环运行了一堆URL。每个URL都将通过fil_get_contents(),但有些会返回500个错误(预期),我想跳过/忽略返回的任何500个错误,但仍然会为有效响应提取数据。我有这个设置,但仍然在这500个响应中获得未定义索引的错误。

foreach($a['response']['groups']['users']['name'] as $key => $values)
    {
    $id = $values['uname']['id'];
    $url = "http://thisurlimusing.com"."$id";
    $context = stream_context_create(array('http' => array('ignore_errors' => true),));
    $string = file_get_contents($url,false,$context);
    $array =  json_decode($string, true);
    print_r($array['specific']);        
    }

1 个答案:

答案 0 :(得分:0)

您的问题是由ignore_errors(http)设置为true引起的。在这种情况下,file_get_contents将返回错误响应文本。

以下几行有效:

$string = file_get_contents($url,false);
if ($string !== FALSE) {
    $array =  json_decode($string, true);
}