我使用下面的代码来显示一个图像,该图像显示有多少用户连接到我的网站的文本。我用不同的图片替换了我使用的"vad.png"图片。现在我得到错误"图像无法显示,因为它包含错误"
有人知道我该怎么解决吗?
$result = mysql_query("SELECT * FROM server_status");
$row = mysql_fetch_array( $result );
$text = "Online";
$image = imagecreatefrompng('vad.png');
$black = imagecolorallocate($image, 10, 0, 0);
if (strlen($row['users_online']) >= 3){
imagefttext($image, 11, 0, 435, 38, $black, './verdana.ttf', $row['users_online']);
}
else
{
imagefttext($image, 11, 0, 440, 38, $black, './verdana.ttf', $row['users_online']);
}
imagefttext($image, 8, 0, 432, 55, $black, './verdana.ttf', $text); // Remove the // ahead of this line to use it
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
注释header('Content-type: image/png');
并从浏览器调用脚本。检查可能出现在与映像本身相关的垃圾之前的消息。
您可能需要在脚本顶部添加error_reporting(E_ALL); ini_set('display_errors', 1);
,以防错误报告/显示也被关闭。
有一次,当我意外地将一些0字节的图像缓存文件从一台服务器传输到另一台服务器时,我遇到了这个错误。你可能想检查一下,它可能是一个无效的缓存文件,或者它甚至无法覆盖它。
这是我写的一篇博客文章。http://www.daxmax.com/index.php/2012/03/20/wordpresstimthumb-image-cannot-be-displayed-because-it-contained-errors/
我发现,当我将一些文件上传到web服务器时,它们不会显示,而mozilla会显示有关文件中错误的信息。。。
该问题是由filezilla中的传输类型引起的,它应该是BINARY或AUTO,而不是ASCII。这是我解决问题的方法,也许对