Php标题(';内容类型:image/png';)

Php标题(';内容类型:image/png';),php,Php,我在php中遇到了一个标题问题 我没有这个简单的代码 <?php header ('Content-Type: image/png'); $im = @imagecreatetruecolor(120, 20) or die('Cannot Initialize new GD image stream'); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 1, 5, 5, 'A Simp

我在php中遇到了一个标题问题

我没有这个简单的代码

<?php
header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('Cannot Initialize new GD image stream');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);
?>

我认为它应该工作得很好,但它没有。并没有错误,在我的浏览器的左上角显示了一个小的崩溃图片图标

我认为头球是个问题

其他有用的信息: PHP版本5.3.10-1ubuntu3.9 启用GD支持 GD版本2.0 已启用FreeType支持 自由式连杆机构 FreeType版本2.4.8

更新 在IE中,即使我有标题,我也会得到一堆数据…

小崩溃图片”表示图像无效。因为生成它的代码似乎是有效的,所以其中一定有PHP错误


注释掉
标题
行,看看你得到了什么。如果您得到的是以
PNG
开头,然后是一组数据,那么您就有了一个成功的PNG图像,您可以取消对
标题的注释以查看它。否则,您可能会看到一个PHP错误。

您的问题是文件夹的路径为图像创建文件夹

例如:巴拉

更改标题后(“内容类型:barla/image/png”)

您的问题将得到解决

请尝试:

header('Content-type:image/png')

而不是

header('Content-Type:image/png')


并检查文件编码。它必须是ANSI。

对于在浏览器中绘制图像,它必须在主图像数据之前发送两个标题。首先是数据类型

header ('Content-Type: image/png'); 
//or
header ('Content-Type: image/jpeg');
其次是数据长度。如果没有该标题,浏览器将不知道数据的结束位置

header("Content-length: $size");   //$size image file size in bytes

需要检查php文件之前没有任何空格和新行当我尝试时,我的问题是我没有gd库。安装和设置后,它工作正常。

获取和返回favicon的正确(经过测试的)PHP代码(只需更改其他图像的MIME内容类型)是:


您正在抑制此行的错误
@imagecreatetruecolor
您确定这不是在创建错误吗?您的“”标记中有指向此脚本的正确URL吗?尝试使用浏览器的开发人员栏查看完整的http请求和响应。我的Web服务器有一个日志显示错误,当我更新网页时没有错误。所以我认为ImageCreateTureColor不是问题。删除标题并在浏览器中打开文件:您应该会看到奇怪的字符,但可能(可能)有侵权警告…我得到了PNG,后面是一堆数据。标题('Content-type:image/PNG');==标题('Content-type:image/png');
$c = file_get_contents($path,true);
$size = filesize($path);
header ('Content-Type: image/x-icon');
header ("Content-length: $size");
echo $c;
exit;