PHP 图像因其本身有错无法显示怎么办

1 先确认自己的PHP和GD库版本够高,根据PHP手册的要求,PHP最好高于4.0.6,GD库要求2.0.1

2 对于使用PHPNOW的用户,在首页就可以找到相关信息

3 你也可以运行以下代码来检测是否安装GD库

<?php

    if(extension_loaded('gd')) {

     echo '你可以使用gd<br>';

     foreach(gd_info() as $cate=>$value)

     echo "$cate: $value<br>";

    }else

     echo '你没有安装gd扩展';

?>

比如输出结果如下

4 在确认版本没有问题的情况下,需要确认自己写的代码没有问题,最简单的方法是新建一个PHP文件,并使用官方提供的函数,如果这些仍旧不能运行,则说明不是你代码问题,一般仍会显示错误.

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

?>

5 现在把编码改为UTF-8 无BOM

6 测试可以正常显示.关于BOM的详细说明,看下面好了,反正我是看不懂.还有一点需要注意,这个PHP文件每编辑一次,就要另存为一次,否则又会自动被搞成UTF-8,无法显示. 还有必须说明的一点是,有时候如果你网上找的函数用你的图像就有问题,可能是这个函数不给力。图像的地址必须是小写,但是图像的文件名可以大写可以小写,比如我代码为小写,然后更改图片名称的大小写,则都可以识别.但是如果代码是大写,即使图像文件名也是大写,也无法显示.

原文地址:https://www.cnblogs.com/acetaohai123/p/6571280.html