Php标题('Content-Type:image / png')

时间:2014-02-21 11:07:22

标签: 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 Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);
?>

我认为它应该可行,但事实并非如此。没有错误,在我的浏览器的左上角显示一个小的崩溃图片图标。

我认为标题就是问题。

其他有用的信息: PHP版本5.3.10-1ubuntu3.9 已启用GD支持 GD 2.0版 启用FreeType支持 FreeType链接与freetype FreeType版本2.4.8

更新 在IE浏览器中,即使我有标题,我也有大量数据......

6 个答案:

答案 0 :(得分:3)

“小崩溃的图片”表示图像无效。由于您生成它的代码似乎有效,因此您必须有PHP错误。

注释掉header行,看看你得到了什么。如果您得到的内容以PNG开头,后跟一堆数据,那么您有一个成功的PNG图像,您可以取消注释header行以查看它。否则,您可能会看到PHP错误。

答案 1 :(得分:0)

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

header ('Content-Type: image/png'); 
//or
header ('Content-Type: image/jpeg');

第二个是数据长度。没有该标头,浏览器将不知道数据在哪里结束。

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

需要检查php文件,在<?php之前没有空格和换行符,并且在标头和图像数据输出之前没有php输出。

答案 2 :(得分:0)

当我尝试时,我的问题是我没有gd库。安装并设置好后,效果很好。

答案 3 :(得分:0)

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

$c = file_get_contents($path,true);
$size = filesize($path);
header ('Content-Type: image/x-icon');
header ("Content-length: $size");
echo $c;
exit;

答案 4 :(得分:-2)

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

例如:barla

更改标题页后(&#34;内容类型:barla / image / png&#34;);

您的问题将解决

答案 5 :(得分:-2)

尝试:

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

而不是

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

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