我正在使用下面的代码显示一个图像,显示有多少用户连接到我的网站的文本。我用不同的'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);
答案 0 :(得分:2)
评论header('Content-type: image/png');
并从浏览器调用脚本。检查可能出现在与图像本身相关的垃圾之前的消息。
如果错误报告/显示也已关闭,您可能需要在脚本顶部添加error_reporting(E_ALL); ini_set('display_errors', 1);
。
答案 1 :(得分:0)
当我意外地将一些0字节图像缓存文件从一台服务器转移到另一台服务器时,我收到了此错误。您可能想要检查它,它可能是无效的缓存文件,或者它甚至无法覆盖它。
这是我写的关于此内容的博文。 http://www.daxmax.com/index.php/2012/03/20/wordpresstimthumb-image-cannot-be-displayed-because-it-contained-errors/
答案 2 :(得分:0)
我发现当我将一些文件上传到网络服务器时,它们将无法显示,而mozilla会显示有关文件错误的信息...
问题是由filezilla中的传输类型引起的,它应该是BINARY或AUTO,而不是ASCII。 这是我解决问题的方法,也许对某人有帮助