首页 > Web开发 > 详细

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

时间:2017-10-11 00:20:15      阅读:330      评论:0      收藏:0      [点我收藏+]
<?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/1971297

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

原文:http://ybtphp.blog.51cto.com/13257319/1971297

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!