簡單的面向過程寫的驗證碼

<?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: p_w_picpath/png");
//建立畫布
$width = 100;
$height = 50;
$p_w_picpath = p_w_picpathcreate($width,$height);

//建立顏色
$bgcolor  = p_w_picpathcolorallocate($p_w_picpath,rand(0,20),rand(0,20),rand(0,20));


//備用顏色(干擾線)
$colorone = p_w_picpathcolorallocate($p_w_picpath,rand(100,155),rand(200,155),rand(100,155));;



//干擾線
for($j=0; $j<10; $j++){
    p_w_picpathline($p_w_picpath, rand(0,$width), rand(0,$height-20), rand(0,$width), rand(0,$height), $colorone);
}

//循環添加字符到畫布   每一個字符的座標爲(總寬度 / 驗證碼的個數)
for($i=0; $i<4; $i++){
    //備用顏色(文字)
    $fontcolor= p_w_picpathcolorallocate($p_w_picpath,rand(0,255),rand(100,200),rand(180,255));


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


p_w_picpathpng($p_w_picpath);
p_w_picpathdestroy($p_w_picpath);


wKioL1ncy2CR3-aSAABGfWyFtBc245.png-wh_50

wKiom1ndOm7TzOYXAABgH-WuCgM475.png-wh_50

相關文章
相關標籤/搜索