你好,我有一个包含在内的php文件:
当我访问PHP文件时图像显示正确,但是当我尝试在HTML模板中显示它时,它显示为带有裂缝的小img,所以基本上说“图像未找到”
<img src="http://konvictgaming.com/status.php?channel=blindsniper47">
是我用来在HTML模板中显示它,但它似乎并不想显示,我已经尝试搜索我的具体问题没有结果,虽然我确定我可能已经搜错了标题
从下面的OP中添加代码
$clientId = ''; // Register your application and get a client ID at http://www.twitch.tv/settings?section=applications
$online = 'online.png'; // Set online image here
$offline = 'offline.png'; // Set offline image here
$json_array = json_decode(file_get_contents('https://api.twitch.tv/kraken/streams/'.strtolower($channelName).'?client_id='.$clientId), true);
if ($json_array['stream'] != NULL) {
$channelTitle = $json_array['stream']['channel']['display_name'];
$streamTitle = $json_array['stream']['channel']['status'];
$currentGame = $json_array['stream']['channel']['game'];
echo "<img src='$online' />";
} else {
echo "<img src='$offline' />";
}
答案 0 :(得分:6)
网址不是图片,是具有以下内容的网页
<img src='offline.png' alt='Offline' />
网页无法显示为图片。您需要编辑页面以仅使用正确的http-header传输实际图像。
你可以通过谷歌搜索“php dynamic image”找到一些帮助。
答案 1 :(得分:2)
在HTTP标头中指定它是PNG(或其他)图像!
(默认情况下,它们被解释为text / html)
答案 2 :(得分:1)
我想你在这个页面上改变了dynmaclly的图片。
最简单的方法是使用iframe:
<iframe src="http://konvictgaming.com/status.php?channel=blindsniper47"> </iframe>
答案 3 :(得分:1)
在您的status.php文件中,输出<img src=...
的标记,将其更改为如下所示
$image = file_get_contents("offline.png");
header("Content-Type: image/png");
echo $image;
这将发送请求的实际图像,而不是发送标记。对于src
代码,标记无效img
。
更新下面修改的代码。
$clientId = ''; // Register your application and get a client ID at http://www.twitch.tv/settings?section=applications
$online = 'online.png'; // Set online image here
$offline = 'offline.png'; // Set offline image here
$json_array = json_decode(file_get_contents('https://api.twitch.tv/kraken/streams/'.strtolower($channelName).'?client_id='.$clientId), true);
header("Content-Type: image/png");
$image = null;
if ($json_array['stream'] != NULL) {
$channelTitle = $json_array['stream']['channel']['display_name'];
$streamTitle = $json_array['stream']['channel']['status'];
$currentGame = $json_array['stream']['channel']['game'];
$image = file_get_contents($online);
} else {
$image = file_get_contents($offline);
}
echo $image;