【问题标题】:Generating an image - The image cannot be displayed because it contains errors生成图像 - 图像无法显示,因为它包含错误
【发布时间】:2014-12-08 17:59:44
【问题描述】:

我正在使用下面的代码来显示一个图像,其中显示了有多少用户连接到我的网站的文本。我用不同的图像替换了我使用“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);

【问题讨论】:

  • 你用文本和 css 做这个,为什么首先使用图像。

标签: php image


【解决方案1】:

评论header('Content-type: image/png'); 并从浏览器调用脚本。检查可能出现在与图像本身相关的垃圾之前的消息。

您可能需要在脚本顶部添加error_reporting(E_ALL); ini_set('display_errors', 1);,以防错误报告/显示也被关闭。

【讨论】:

  • @user1123513 那么,你得到了什么? The image contains errors 表示可能还有其他内容与图像内容一起发送到浏览器。通常这些是来自脚本的错误消息。使用所需参数直接从浏览器调用脚本,而不是其中包含img 标签的页面。
【解决方案2】:

当我不小心将一些 0 字节的图像缓存文件从一台服务器传输到另一台服务器时,我遇到了这个错误。你可能想检查一下,它可能是一个无效的缓存文件,或者它甚至无法覆盖它。

这是我写的一篇博客文章。 http://www.daxmax.com/index.php/2012/03/20/wordpresstimthumb-image-cannot-be-displayed-because-it-contained-errors/

【讨论】:

    【解决方案3】:

    我发现当我将一些文件上传到网络服务器时,它们不会显示,而 Mozilla 会显示有关文件中错误的信息...

    问题是由 filezilla 中的传输类型引起的,它应该是 BINARY 或 AUTO,而不是 ASCII。 这是我解决问题的方法,也许对某人有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 2020-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多