我在php页面上写如下代码:
<?php
//header('Content-Type:text/jpeg');  //这地方如果注释了就能执行正确。
$im=imagecreatetruecolor(200,200);
imagepng($im);
?>如果上面的地方不注释就不能把图片画出来。浏览器还提示下载(下载了也不是个图片)呀,还是打开(打开之后是乱码)。
问题:画图不都得有这个header()来指定类型吗?  是不是跟php.ini 的配置文件有关呀?还是其他的原因,想不出来了

解决方案 »

  1.   

    你输出浏览器,你得告诉它,你要向别人输出什么类型的东西吧??
    比如html之类的就是 text/html....
      

  2.   

    我有点不理解,注释掉的话MIME类型就应该是text/html了,怎么还会显示图片呢?
    另外你输出的是png格式,header发送的却是jpeg格式。改一致看看
      

  3.   

    header('Content-Type:image/png'); //注意:是image而不是text
    $im=imagecreatetruecolor(200,200);
    imagepng($im);红色的要配套是否需要类型声明的头,取决于浏览器的种类
      

  4.   

    header('Content-Type:image/jpeg');  image才是指定图片类型。
      

  5.   

    例子 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);   ?> 
      

  6.   


    <?php
    header('Content-Type:image/jpeg'); 
    $im=imagecreatetruecolor(200,200);
    imagepng($im);
    ?>