生成图像无法显示,因为其中包含错误


Generating an The image cannot be displayed because it contains errors

我使用下面的代码来显示一个图像,该图像显示有多少用户连接到我的网站的文本。我用不同的图片替换了我使用的"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。这是我解决问题的方法,也许对

的人会有帮助