PHP学习笔记-简单的面向过程写的验证码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP学习笔记-简单的面向过程写的验证码相关的知识,希望对你有一定的参考价值。

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017\10\10 0010
 * Time: 19:44
 */
 
//生成随机验证码
$strNumber = join(‘‘,range(0,9));
$strChar   = join(‘‘,range(‘a‘,‘z‘));
$str = $strNumber.$strChar.strtoupper($strChar);
$str = substr(str_shuffle($str),‘0‘,4);


header("Content-type: image/png");
//创建画布
$width = 100;
$height = 50;
$image = imagecreate($width,$height);

//创建颜色
$bgcolor  = imagecolorallocate($image,rand(0,20),rand(0,20),rand(0,20));


//备用颜色(干扰线)
$colorone = imagecolorallocate($image,rand(100,155),rand(200,155),rand(100,155));;



//干扰线
for($j=0; $j<10; $j++){
    imageline($image, rand(0,$width), rand(0,$height-20), rand(0,$width), rand(0,$height), $colorone);
}

//循环添加字符到画布   每个字符的坐标为(总宽度 / 验证码的个数)
for($i=0; $i<4; $i++){
    //备用颜色(文字)
    $fontcolor= imagecolorallocate($image,rand(0,255),rand(100,200),rand(180,255));


    $x = (($width / 4) * $i) + $width / 10;
    $y = rand(10,$height-20);
    imagechar($image, 5, $x, $y,$str[$i], $fontcolor);
}


imagepng($image);
imagedestroy($image);


技术分享

技术分享


本文出自 “YBT-PHP” 博客,请务必保留此出处http://ybtphp.blog.51cto.com/13257319/1971298

以上是关于PHP学习笔记-简单的面向过程写的验证码的主要内容,如果未能解决你的问题,请参考以下文章

PHP-解析验证码类--学习笔记

PHP实现随机生成验证码功能

php实现验证码(数字字母汉字)

php笔记之GD库图片创建/简单验证码

PHP学习笔记验证码优化

php学习笔记:利用gd库生成图片,并实现随机验证码