php文件可以输出图片却无法显示出来!

使用
imagegif($image,'verify.php');
echo <img scr=‘verify.php’/>;

可以输出图片。
可是改成
header ( "content-type:image/gif" );
imagegif($image);

能输出图片。却显示不出来。文件没有报错。
求解,怎么才能显示啊。。。。
解决掉了。在第一行加入 ob_end_clean();
纠结死人了。感谢帮助!

经测试2种方式都可以正确显示,据估计,你的第2种方式不能正常显示的原因在于:


你在第2种方式里,除了 img 输出外,还有其它输出。


请参看下面的示例代码:

<?php
// åˆ›å»ºæ–°çš„图像实例
$im = imagecreatetruecolor(100, 100);
// è®¾ç½®èƒŒæ™¯ä¸ºç™½è‰²
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);
//在图像上写字
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

//echo "这一行如果加上就不能正常显示下面的图像了。<br/>";

// è¾“出图像到浏览器
header('Content-Type: image/gif');
imagegif($im);

imagedestroy($im);
?>

 

为什么第 2 种方式,不能在header前面有内容,究其原因,请参看以下说明:


header()必须在任何实际输出之前调用,不管是普通的html标签,还是文件里面的空行、空格或者是PHP文件里的空行、空格。


简单一句话:在header()被调用之前有输出就会出错。

追问

是不是哪里设置出的问题。我用这个代码都不能显示

追答

$img=imagecreatetruecolor(100,30); 这句代码只建立了图像,但图像并没有任何内容。

追问

建立的图片是默认黑色的,我在教程网站上面能显示,

在我自己的电脑就不能显示。

如果用

imagegif($image,'verify.php');

echo <img scr=‘verify.php’/>;

就可以显示

追答

代码在我的电脑上也能正确显示。


据此猜测:


1、浏览器显示问题。


2、PHP函数库支持(如果imagegif能正常显示的话)。这个问题你可以用 imagetypes()  æˆ– function_exists 函数检测下。

if(imagetypes() & IMG_PNG)
if(function_exists('imagepng'))追问

。。结果都是TRUE。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-09
把header语句去掉看输出什么追问

显示乱码

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网