PHP的file_get_contents由404

时间:2014-07-07 13:06:04

标签: php arrays json

我正在使用file_get_contents获取JSON数组,但如果该页面不存在,我想提供一条消息:未找到播放器。但现在我收到了这个错误:

  

警告:file_get_contents(urlwithan404errorhere)   [function.file-get-contents]:无法打开流:HTTP请求   失败!在-------

中找不到HTTP / 1.1 404

当api给我一个正确的JSON数组时,我没有收到此错误。

这是代码使用:

$gegevens = file_get_contents('');      
$array_2 = json_decode($gegevens, TRUE);
$summonerid = $array_2[$naam]["id"];

2 个答案:

答案 0 :(得分:1)

您的代码可能会变成这样:

$gegevens = @file_get_contents('');      

if ($gegevens !== FALSE) {
    $array_2 = json_decode($gegevens, TRUE);
    $summonerid = $array_2[$naam]["id"];
} else {
    $summonerid = 0;
}

<强>说明:
* @前面的file_get_contents是在请求失败时停止显示php错误 *如果$summonerid等于0,那么您找不到播放器

答案 1 :(得分:1)

尝试这样的事情:

if (($gegevens = @file_get_contents('')) === false) {
    printf("<h1>Player not found!</h1>\n");
    return;
}

// ... continue here ...

如果@失败,file_get_contents()将禁止显示任何错误消息。在这种情况下,它将返回false(使用===进行比较以避免与空文件混淆),您可以将其用于故障检测。