php生成验证码函数 - 网站代码 - 五行资源分享网

php生成验证码函数

作者头像图片

作者: 五行

网络资源搬砖的爱好者

文章二维码手机扫码查看

标签:

php函数验证码

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,如有侵权请联系!

验证码主要用于防止恶意破解密码、刷票、论坛灌水、刷页等,日常开发中经常能使用到。如下提供了一个实用的php验证码函数,代码如下:

<?php

 

function getCode($num,$w,$h) {

    $code = "";

    $str='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

    $len=strlen($str);

    for ($i = 0; $i < $num; $i++) {

        $code .= $str[mt_rand(0,$len-1)];

    }

    //将生成的验证码写入session,备验证时用

    $_SESSION["verifyCode"] = $code;

    //创建图片,定义颜色值

    header("Content-type: image/PNG");

    $im = imagecreate($w, $h);

    $black = imagecolorallocate($im, 0, 0, 0);

    $gray = imagecolorallocate($im, 200, 200, 200);

    $bgcolor = imagecolorallocate($im, 255, 255, 255);

    //填充背景

    imagefill($im, 0, 0, $gray);

 

    //画边框

    imagerectangle($im, 0, 0, $w-1, $h-1, $black);

 

    //随机绘制两条虚线,起干扰作用

    $style = array ($black,$black,$black,$black,$black,

        $gray,$gray,$gray,$gray,$gray

    );

    imagesetstyle($im, $style);

    $y1 = rand(0, $h);

    $y2 = rand(0, $h);

    $y3 = rand(0, $h);

    $y4 = rand(0, $h);

    imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);

    imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);

 

    //在画布上随机生成大量黑点,起干扰作用;

    for ($i = 0; $i < 80; $i++) {

        imagesetpixel($im, rand(0, $w), rand(0, $h), $black);

    }

    //将数字随机显示在画布上,字符的水平间距和位置都按一定波动范围随机生成

    $strx = rand(3, 8);

    for ($i = 0; $i < $num; $i++) {

        $strpos = rand(1, 6);

        imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);

        $strx += rand(8, 12);

    }

    imagepng($im);//输出图片

    imagedestroy($im);//释放图片所占内存

}

 

session_start();

getCode(4,60,30);

?>

本文最后更新于2019-8-3,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
分享到:
打赏
未经允许不得转载:

作者: 五行, 转载或复制请以 超链接形式 并注明出处 五行资源分享网
原文地址: 《php生成验证码函数》 发布于2019-8-3 13:15
帖子声明: 本站对文章进行整理、排版、编辑,是出于传递信息之目的, 并不意味着赞同其观点或证实其内容的真实性,不拥有所有权,不承担相关法律责任。

评论

在线链接输入图片 打卡按钮图片 私密评论按钮图片 78 + 10 =
乱评论、多次评论者一律禁言帐号或封禁IP
本站已经全面开启缓存,评论查看隐藏内容需等待1分钟后再刷新本页!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

打赏图片