本文实例讲述了PHP生成图片验证码功能。分享给大家供大家参考,具体如下:
只是简单的用随机函数实现了图片的生成,没有对验证的整个流程做介绍。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
/**
* Created by JetBrains PhpStorm.
* User: lee
* To change this template use File | Settings | File Templates.
*/
header( "content-type:image/png" );
$validateLength =4;
$strToDraw = "" ;
$chars =[
"0" , "1" , "2" , "3" , "4" ,
"5" , "6" , "7" , "8" , "9" ,
"a" , "b" , "c" , "d" , "e" , "f" , "g" ,
"h" , "i" , "j" , "k" , "l" , "m" , "n" ,
"o" , "p" , "q" , "r" , "s" , "t" ,
"u" , "v" , "w" , "x" , "y" , "z" ,
"A" , "B" , "C" , "D" , "E" , "F" , "G" ,
"H" , "I" , "J" , "K" , "L" , "M" , "N" ,
"O" , "P" , "Q" , "R" , "S" , "T" ,
"U" , "V" , "W" , "X" , "Y" , "Z"
];
$imgW =80;
$imgH =25;
$imgRes =imagecreate( $imgW , $imgH );
$imgColor =imagecolorallocate( $imgRes ,255,255,100);
$color =imagecolorallocate( $imgRes ,0,0,0);
for ( $i =0; $i < $validateLength ; $i ++){
$rand =rand(1,58);
$strToDraw = $strToDraw . " " . $chars [ $rand ];
}
imagestring( $imgRes ,5,0,5, $strToDraw , $color );
for ( $i =0; $i <100; $i ++){
imagesetpixel( $imgRes ,rand(0, $imgW ),rand(0, $imgH ), $color );
}
imagepng( $imgRes );
imagedestroy( $imgRes );
|
运行效果如下:
希望本文所述对大家PHP程序设计有所帮助。