我在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浏览器中,即使我有标题,我也有大量数据......
答案 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。