问答详情
源自:2-4 给图片添加文字水印—保存和销毁图片

什么都正常,唯一就是浏览器不显示图片,求解

代码如下:

<?php 
$src = "messi.jpeg";
$info = getimagesize($src);
print_r($info);
header("Content-type:".$info['mime']);
$type = image_type_to_extension($info[2],false);
print_r($type);
$fun = "imagecreatefrom{$type}";
$image = $fun($src);


$font = "msyh.ttf";
$content = "hello world";
$col = imagecolorallocatealpha($image,255,255,255,50);
imagettftext($image,20,0,50,50,$col,$font,$content);

$func = "image{$type}";
$func($image);

$func($image,'newimage.'.$type);

imagedestroy($image);
?>

浏览器显示如下:

http://img.mukewang.com/57838a290001100812590529.jpg

练习用的文件夹如下:竟然保存成功……

http://img.mukewang.com/57838a5d0001fa8f05560264.jpg

我就是想问问 为什么?怎么改?

提问者:Lio_Messi 2016-07-11 20:01

个回答

  • 蒙奇_路飞
    2016-07-13 11:42:36

    把代码中两个print_r的输出注释掉就ok了。记得给我分哦!

  • GeorgeYuan
    2016-07-13 10:55:48

    我也遇到这样的问题,代码写错了是一方面,如果没有报错的话;

    那就是内存缓存区的问题了

    在    header("Content-Type: ".$info['mime']);

    上面添加

    ob_clean();//清空缓冲区

    就可以正常输出了,试试吧

  • 七里田间0
    2016-07-13 10:27:27

    我也遇到过,把

    $func($image,'newimage.'.$type);

    注释掉再看一下