日期:2014-05-17  浏览次数:20521 次

一个简单的php画图问题、、、
我在php页面上写如下代码:
<?php
//header('Content-Type:text/jpeg'); //这地方如果注释了就能执行正确。
$im=imagecreatetruecolor(200,200);
imagepng($im);
?>

如果上面的地方不注释就不能把图片画出来。浏览器还提示下载(下载了也不是个图片)呀,还是打开(打开之后是乱码)。
问题:画图不都得有这个header()来指定类型吗? 是不是跟php.ini 的配置文件有关呀?还是其他的原因,想不出来了

------解决方案--------------------
你输出浏览器,你得告诉它,你要向别人输出什么类型的东西吧??
比如html之类的就是 text/html....
------解决方案--------------------
我有点不理解,注释掉的话MIME类型就应该是text/html了,怎么还会显示图片呢?
另外你输出的是png格式,header发送的却是jpeg格式。改一致看看
------解决方案--------------------
header('Content-Type:image/png'); //注意:是image而不是text
$im=imagecreatetruecolor(200,200);
imagepng($im);

红色的要配套

是否需要类型声明的头,取决于浏览器的种类
------解决方案--------------------
header('Content-Type:image/jpeg'); image才是指定图片类型。
------解决方案--------------------
例子 1. 新建一个新的 GD 图像流并输出图像   <?php   header("Content-type: image/png");   $im = @imagecreatetruecolor(50, 100)   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);   ?>