使用PHP实现验证码
来源:互联网 发布:电脑mac地址怎么看 编辑:程序博客网 时间:2024/05/22 07:50
使用PHP实现验证码
实现验证码字符串
<?php/** * Created by PhpStorm. * User: sunnylinner * Date: 2016/6/13 * Time: 12:16 */function buildRandomString($type=1,$length=4){ if ($type == 1) { $chars = join("", range(0, 9)); } elseif ($type == 2) { $chars = join("", array_merge(range("a", "z"), range("A", "Z"))); } elseif ($type == 3) { $chars = join("", array_merge(range("a", "z"), range("A", "Z"), range("0,9"))); } if ($length > strlen($chars)) { exit("字符串长度不够");} $chars = str_shuffle($chars);//打乱 return substr($chars, 0, $length);//截取}
实现验证码图片生成
<?php/** * Created by PhpStorm. * User: sunnylinner * Date: 2016/6/13 * Time: 12:16 */require_once 'string.func.php';//通过GD库做验证码function verifyImage($type = 1, $length = 4, $pixel = 0, $line = 0,$sess_name = "verify"){ session_start(); //创建画布 $width = 80; $height = 28; $image = imagecreatetruecolor($width, $height); $white = imagecolorallocate($image, 255, 255, 255); $black = imagecolorallocate($image, 0, 0, 0); //用填充矩阵填充画布 imagefilledrectangle($image, 1, 1, $width - 2, $height - 2, $white); $chars = buildRandomString($type, $length); $_SESSION[$sess_name] = $chars; $fontfiles = array("msyh.ttc", "SIMLI.TTF", "SourceCodePro-Black.ttf"); for ($i = 0; $i < $length; $i++) { $size = mt_rand(14, 18);//大小 $angle = mt_rand(-15, 15);//角度 $x = 5 + $i * $size; $y = mt_rand(20, 26); $fontfile = "../fonts/" . $fontfiles[mt_rand(0, count($fontfiles) - 1)]; $color = imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180)); $text = substr($chars, $i, 1); imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text); } if ($pixel) { for ($i = 0; $i < $pixel; $i++) { imagesetpixel($image, mt_rand(0, $width - 1), mt_rand(0, $height - 1), $black); } } if ($line) { for ($i = 1; $i < $line; $i++) { $color = imagecolorallocate($image, mt_rand(50, 90), mt_rand(80, 200), mt_rand(90, 180)); imageline($image, mt_rand(0, $width - 1), mt_rand(0, $height - 1), mt_rand(0, $width - 1), mt_rand(0, $height - 1), $color); } } header("content-type:image/gif"); imagegif($image); imagedestroy($image);}verifyImage(2,4,20,5);
0 0
- 使用PHP实现验证码
- 使用PHP实现登陆验证码
- 使用PHP实现自动生成验证码
- php实现验证码
- PHP实现验证码
- PHP实现验证码
- PHP实现验证码
- php实现验证码
- php实现验证码
- PHP实现验证码
- PHP---验证码实现
- php验证码实现
- 【PHP】验证码实现
- php实现验证码
- PHP验证码实现
- PHP实现验证码
- php 实现验证码
- php 验证码实现
- 字典树+数组的前后部分数异或的最大值
- Runge-kutta法原理图示
- 扒一扒那些奇葩的甲方吧
- 【GDOI2014模拟】服务器
- [Android]TextView设置超链接
- 使用PHP实现验证码
- [Android] 获取网络图片并显示
- 建立面向对象模型
- LightOJ 1201 A Perfect Murder 最大独立集
- 调整数组顺序使奇数位于偶数前面
- C++逗号运算符的作用
- Spring学习(二十三)Spring表达式语言介绍
- 自定义控件之流式布局FlowLayout
- java集合类的学习