请大家帮我看看这段PHP验证码为什么不显示? session_start();
//生成验证码图片
Header("Content-type: image/PNG");
$im = imagecreate(44,18);
$back = ImageColorAllocate($im, 245,245,245);
imagefill($im,0,0,$back); //背景srand((double)microtime()*1000000);
//生成4位数字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));
$authnum=rand(1,9);
$vcodes=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}for($i=0;$i<100;$i++) //加入干扰象素

$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);

ImagePNG($im);
ImageDestroy($im);$_SESSION['VCODE'] = $vcodes;php.in文件的配置extension=php_gd2.dll。已经都修改好了。

解决方案 »

  1.   

    代码没问题 可以显示
    用phpinfo()看下是否有gdGD Support enabled
    GD Version bundled (2.0.34 compatible)
    FreeType Support enabled
    FreeType Linkage with freetype
    FreeType Version 2.1.9
    T1Lib Support enabled
    GIF Read Support enabled
    GIF Create Support enabled
    JPG Support enabled
    PNG Support enabled
    WBMP Support enabled
    XBM Support enabled
      

  2.   

    我在php.in里找不到你说的这些东西,应该怎么改呢?
      

  3.   

    不是在php.ini中在找
    是建一个php文件里面内容是
    <?php 
    phpinfo();
    ?>
    看下是否有gd选项
      

  4.   

    有gd选项,那为什么不能显示呢?我是这样调用的:<img src="scriptes/Code.php" />。scriptes是放验证码文件的那个文件夹。
      

  5.   

    我把我写的 验证码 发出来吧,希望对你有所帮助lsans.ttf 文件可以按一下操作开始->运行->键入 cmd -> 在黑呼呼的窗口中输入 copy c:\windows\fonts\lsans.ttf c:\lsans.ttf 文件就保存在 c:\ 盘下面了,然后把文件复制到一起
    <?php
    /*----------------------------------------------------------------------------*/
    /*                                                                            */
    /* 作者: 刘昭辉(liuzhaohui)                                                   */
    /* QQ号: 50081449                                                             */
    /* QQ群: 23930992                                                             */
    /* 邮件: [email protected]                                              */
    /*                                                                            */
    /* 警告: 请尊重原作者的劳动成果,改版或再次发行请保留原作者名和联系方式       */
    /*                                                                            */
    /*----------------------------------------------------------------------------*/    function createCodeImage($width, $height, $charLength, $ttfFile)
        {
            $result       = '';
            $space        = round($width/$height);
            $line         = round($height/10)*3;
            $textSpace    = $space;
            $fontSize     = $height-$line;
            $string       = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ';
            $stringLength = 
            $image        = imagecreate($width, $height);
            imagecolorallocate($image,255,255,255);
            $colorList=array
            (
                array( 10, 100, 135),   /* blue   */
                array( 75, 131,   0),   /* green  */
                array(200,  62,   0),   /* red    */
                array(128,   0, 255),   /* purple */
            );
            $randColorNumber = mt_rand(0, count($colorList)-1);
            $textColor       = imagecolorallocate
            (
                $image,
                $colorList[$randColorNumber][0],
                $colorList[$randColorNumber][1],
                $colorList[$randColorNumber][2]
            );
            for($i=0;$i<$charLength;$i++)
            {
                $char=$string[mt_rand(0, strlen($string)-1)];
                $result.=$char;
                imagettftext                                         // 写字符
                (
                    $image,                                          // 图片
                    $fontSize,                                       // 字体大小
                    mt_rand(-30,30),                                 // 旋转角度
                    $textSpace,                                      // X 横
                    round($fontSize+$height/10),                     // Y 竖
                    $textColor,                                      // 字体颜色
                    $ttfFile,                                        // 字体文件
                    $char                                            // 字符
                );
                $textSpace+=$fontSize;
            }
            for($i=0; $i <= mt_rand($space,$line); $i++)
            {
                imageline                                            // 画横线
                (
                    $image,                                          // 图片
                    mt_rand($space,$fontSize),                       // X 开始
                    mt_rand($space,$height),                         // Y 开始
                    mt_rand($width-$fontSize, $width),               // X 结束
                    mt_rand($space,$height-$space),                  // Y 结束
                    $textColor
                );
            }
            $_SESSION['code'] = strtoupper($result);
            header('Content-Type:image/gif');
            imagegif($image);
            imagedestroy($image);
        }
    ?><?php
    /*----------------------------------------------------------------------------*/
    /*                                                                            */
    /* 作者: 刘昭辉(liuzhaohui)                                                   */
    /* QQ号: 50081449                                                             */
    /* QQ群: 23930992                                                             */
    /* 邮件: [email protected]                                              */
    /*                                                                            */
    /* 警告: 请尊重原作者的劳动成果,改版或再次发行请保留原作者名和联系方式       */
    /*                                                                            */
    /*----------------------------------------------------------------------------*//* 验证码宽度 */
    define('IMAGE_CODEIMAGEWIDTH', 120);/* 验证码高度 */
    define('IMAGE_CODEIMAGEHEIGHT', 40);/* 验证码字符长度*/
    define('IMAGE_CODECHARLENGTH', 4);/* 验证码采用的字体文件 */
    define('IMAGE_TTFFILE', 'lsans.ttf');
    ?>
      

  6.   

    调用方式如下createCodeImage(IMAGE_CODEIMAGEWIDT, IMAGE_CODEIMAGEHEIGH, IMAGE_CODECHARLENGTH, IMAGE_TTFFILE)
      

  7.   

    直接访问Code.php有没有显示?  有没有bom头? 路径是否正确
      

  8.   

    直接访问Code.php不能访问。
    报错:Internet Explorer无法下载Code.php来自localhost
         无法打开该Internet站点。请求的站点不可用或找不到,请以后再访问
      

  9.   

    gd库要有一些依赖http://hi.baidu.com/wuyuwenct/blog/item/0929160b690ebb1695ca6b0c.html
      

  10.   

    //srand((double)microtime()*1000000);这个有什么用处啊?  好像没什么用处?
      

  11.   

    用现成的验证码开源库会更简单一些 http://www.okbase.net/doc/details/69