正确输入时会在屏幕上打印,但输入不正确时我不想做任何事情
我该怎么做?
<?php
header('Content-type: text/html; charset=utf8');
$api_key = 'local';
$keyword = 'test';
$url = 'test.json' . $api_key . '&' .'keyword' .'=' . $GLOBALS['q'] ;
$open = file_get_contents($url);
$data = json_decode($open, true);
$istatistikler = $data['data'];
if ($data) {
foreach ( $istatistikler as $istatistik ){
echo '<div class="right">';
echo 'Oyun modu: ' . $istatistik['title'] . '<br />' .
'Kazanma: ' . $istatistik['content'] . '<br />' .
'Kazanma: ' . $istatistik['image'] . '<br />' .
'Kazanma: ' . $istatistik['category'] . '<br />' .
'<br />' .
'<hr/>';
$karakter_simge = 'http://google.com' . $istatistik['image'] . '';
echo "<img src=".$karakter_simge." >" ;
echo '</div>';
}
}
?>
输出失败
警告: 的file_get_contents(http://localhost/api/detail?X-Api-Key=local&keyword=a): 无法打开流:HTTP请求失败! HTTP / 1.1 406不是 可在/opt/lampp/htdocs/weather-master/php/php-api.php上在线接受 10
&#34;我不想打印失败&#34;
谢谢你的帮助!
答案 0 :(得分:1)
这可能会有所帮助:
$open = @file_get_contents($url);
函数名称(在通话中)之前的 @
符号可以防止显示任何警告(但这是一种不好的做法)。
答案 1 :(得分:0)
更改
$open = file_get_contents($url);
到
$open = @file_get_contents($url);
if ($open === false)
die("wrong");
@
会抑制错误消息。使用die()
将使用给定的消息完全中止脚本。
或者,将条件更改为!== false
并将其余部分包装成成功的&#34;代码在其正文中:
$open = @file_get_contents($url);
if ($open !== false)
{
$data = json_decode...
...
...
}
我想我在这里略微超过了目标,但是如果没有数据就不会遇到无法正常工作的代码。