• 技术文章 >后端开发 >PHP问题

    php验证码不显示在屏幕上

    王林王林2019-10-11 17:59:10原创2274

    PHP验证码无法显示的原因及解决办法:

    一、如果是utf-8,就有可能是BOM没有清除

    二、在Header("Content-type: image/PNG"); 之前有输出

    三、第一行PHP隐藏了代码,如空格,回车等。

    解决代码:

    $image_width=70;           //设置图像宽度
    $image_height=18;       //设置图像高度
    $new_number=$_GET[num];
    //$new_number=5;
    $num_image=imagecreate($image_width,$image_height); //创建一个画布
    imagecolorallocate($num_image,255,255,255);    //设置画布的颜色
    $black=imagecolorallocate($num_image,0,0,0);
    /**/for($i=0;$i<strlen($new_number);$i++){ //循环读取SESSION变量中的验证码
      $font=mt_rand(3,5);               //设置随机的字体
      $x=mt_rand(1,8)+$image_width*$i/4;        //设置随机字符所在位置的X坐标
      $y=mt_rand(1,$image_height/4);          //设置随机字符所在位置的Y坐标
      $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));  //设置字符的颜色
      imagestring($num_image,$font,$x,$y,$new_number[$i],$color);     //水平输出字符
    }
    header("content-type:image/png");   //设置创建图像的格式
    imagepng($num_image);     //生成PNG格式的图像
    imagedestroy($num_image);   //释放图像资源

    推荐教程:PHP视频教程

    以上就是php验证码不显示在屏幕上的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 验证码 不显示
    上一篇:php验证码错误 下一篇:php需要掌握几个框架
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php验证码图片不显示• php验证码显示不出来• php系统验证码错误• php网站无法显示验证码
    1/1

    PHP中文网