我正在使用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"];
答案 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
(使用===
进行比较以避免与空文件混淆),您可以将其用于故障检测。