PHP生成验证码:[2]php混合验证码

 时间:2026-02-16 09:18:17

1、1

<?php

/*定义头文件为图片*/

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

/*调用生成验证码函数*/

getCode(4,100,30);

PHP生成验证码:[2]php混合验证码

2、2.

/**

 * 定义生成验证码图片函数

 * @param int $num 生成验证码个数

 * @param int $w 图片宽

 * @param int $h 图片高

 *

*/

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

/**

* 去掉了数字0和1 字母小写O和L 

* 避免用户输入时模糊混淆

*/

$str = "23456789abcdefghijkmnpqrstuvwxyz";

$code = '';

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

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

}

PHP生成验证码:[2]php混合验证码

3、3.

/*创建图片,定义大小颜色等*/

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

$black = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120));

$gray = imagecolorallocate($im, 118, 151, 199);

$bgcolor = imagecolorallocate($im, 235, 236, 237);

/*创建图片背景*/

imagefilledrectangle($im, 0, 0, $w, $h, $bgcolor);

/*创建图片边框*/

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

/*在画布上随机生成大量点*/

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

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

}

PHP生成验证码:[2]php混合验证码

4、4.

/*在画布上随机生成大量点*/

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(10, 30);

}

/*输出图片*/

imagepng($im);

imagedestroy($im);

}

PHP生成验证码:[2]php混合验证码

5、5.最终结果如图所示:

################################

##                                                            ##

##                     纯属凑字                         ##

##                                                            ##

################################

PHP生成验证码:[2]php混合验证码

  • php验证码制作
  • php登陆页面+验证码的实现
  • 用php显示验证码
  • thinkphp验证码判断是否正确
  • php制作验证码及验证码js局部刷新
  • 热门搜索
    巴西旅游 青海旅游路线 冲绳旅游攻略 浙江旅游职业技术学院 澳大利亚旅游多少钱 壶口瀑布旅游攻略 旅游网站模板 嘉峪关旅游 陕西旅游集团 全国旅游年票