Header("Content-type:image/gif");
echo $buffer;
exit;

解决方案 »

  1.   

    把while换成if,为什么非要用while呢
      

  2.   

    $fd=fopen($file,"r");要换成
    $fd=fopen($file,"rb");不要用while,Header()之前不要有输出,一般把上面的代码写到新的php中,比如image.php
    在模板里用<img src="image.php?imageid=1">这样就显示了
      

  3.   

    $file="ad.gif";$fd=fopen($file,"r");
    if(!$fd)
    {
    echo "Can't open GIF\n";
    exit -1;
    }
    header("Content-Type: image/gif");
    while ($buffer=fread($fd,filesize($file))) {
    print $buffer;
    }
      

  4.   

    问题解决了,”去掉Header()之前的输出“,现在我改成输出声音为什么不对?
    audio.php
    <?
    $file="1.wav";
    $fd=fopen($file,"rb");
    if(!$fd)
    {
    echo "Can't open WAV\n"; 
    exit -1;
    }
    if ($buffer=fread($fd,filesize($file))) { 
    header("Content-Type: audio/basic");
    echo $buffer; 
    exit;
    }
    */
    getaudio.php
    <embed src="audio.php" width="150" height="100">
      

  5.   

    问题解决了,包括数据库的。上面写的是正确的,是浏览器有问题,而且浏览器会保存COOKIE。谢谢大家的支持,我开始散分。