• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP基于GD2函数库实现验证码功能示例

    本文实例讲述了PHP基于GD2函数库实现验证码功能。分享给大家供大家参考,具体如下:

    在正式制作验证码之前要先补充点知识,PHP使用GD2函数库实现对各种图形图像的处理,所以我们制作验证码主要要使用到一些GD2函数库里的一些函数:

    imagecreatetruecolor($width,$height)函数,主要用于创建画布,有2个参数width和height是必选的,代表你所要创建的画布的长和宽;

    imagecolorallocate($image, $red, $green, $blue)函数,主要用于填充图像,第1个参数是你所创建的图像的标识符,后面3个参数是颜色的RGB设置;

    imagefill($image, $x, $y, $color)函数,第一个函数是你创建的图像标识符,第2、3个参数$x、$y是左上角坐标,最后一个参数是你要填充颜色;

    imagestring($image, $font, $x, $y, $string, $color)函数设置文字,且imagestring()函数如果直接绘制中文字符串会出现乱码,如果要绘制中文字符串可以使用imagettftext()函数;

    imagepng($image[,$filename])函数以phg格式将图像输出到浏览器或者保存为文件,第1个参数为你创建的图像标识号,第2个参数为可选参数,你要保存文件的文件名;

    imagesetpixel($image, $x, $y, $color)函数画单个像素点;

    imageline($image, $x1, $y1, $x2, $y2, $color)函数画一条线段,$x1、$y1是线段是左上角坐标,$x2、$y2是线段的右下角坐标。

    代码主要如下:

    ?php
      //创建画布
      $img = imagecreatetruecolor(100, 50);
      //创建颜色
      $black = imagecolorallocate($img, 0x00, 0x00, 0x00);
      $green = imagecolorallocate($img, 0x00, 0xFF, 0x00);
      $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
      //画布填充颜色
      imagefill($img, 0, 0, $white);//背景为白色
      //生成随机验证码
      $code = make(5);
      //设置文字
      imagestring($img, 5, 10, 10, $code, $black);//黑字
      //加入噪点干扰
      for ($i = 0; $i 300; $i++){
        imagesetpixel($img, rand(0, 100), rand(0, 100), $black);
        imagesetpixel($img, rand(0, 100), rand(0, 100), $green);
      }
      //加入线段干扰
      for ($n = 0; $n =1; $n++){
        imageline($img, 0, rand(0, 40), 100, rand(0, 40), $black);
        imageline($img, 0, rand(0, 40), 100, rand(0, 40), $white);
      }
      //输出验证码
      header("content-type: image/png");//告诉浏览器这个文件是一个png图片
      imagepng($img);
      //销毁图片,释放内存
      imagedestroy($img);
      //生成随机验证码的函数
      function make($length){
        $code = 'abcdefghijklmnopqrsruvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
        //str_shuffle()函数用于打乱字符串
        return substr(str_shuffle($code), 0, $length);
      }
    ?>
    
    

    实现效果如下图:

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP5中GD库生成图形验证码(有汉字)
    • php中使用GD库做验证码
    • PHP 用session与gd库实现简单验证码生成与验证的类方法
    • PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
    • php通过GD库实现验证码功能
    • 一个漂亮的php验证码类(分享)
    • PHP生成图片验证码、点击切换实例
    • PHP验证码类代码( 最新修改,完全定制化! )
    • 一个经典的PHP验证码类分享
    • PHP通过GD库实现验证码功能示例
    上一篇:PHP的PDO事务与自动提交
    下一篇:PHP常见加密函数用法示例【crypt与md5】
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP基于GD2函数库实现验证码功能示例 PHP,基于,GD2,函数,库,实现,