php 图片验证码
php验证码程序 验证码 代码 php php 图片验证码
<?php
/*
@date 20080514
@author hluan
//session_start();
class icode
{
function __construct(){
header('Content-Type:image/png');
}
function __destruct(){
imagedestroy($png);
}
function getcode($len,$type){
switch ($type){
case 1;
$str = "1234567890";
break;
case 2;
$str = "abcdefghijklmnopqrstuvwxyz";
break;
case 0;
$str = "1234567890abcdefghijklmnopqrstuvwxyz";
break;
}
$result = "";
$length = strlen($str) - 1;
$num = 0;
for ($i=0;$i<$len;$i++){
$num = rand(0,$length);
$a = $str[$num];
$result = $result.$a;
}
/*Before using it,you should use session_start()*/
$_SESSION['icode'] = $result; //Store in session.
//echo "session:".$_SESSION['icode'];
//die();
$png = imagecreate(60, 30);
$white = imagecolorallocate($png, 255, 255, 255); //background
$red = imagecolorallocate($png, 255, 0, 0);
$blue = imagecolorallocate($png, 0, 0, 255);
$brown = imagecolorallocate($png, 100, 0, 0);
$black = imagecolorallocate($png, 0, 0, 0); //Identifying Code
imagefill($png, 0, 0, $white);
$k = rand(0, 3);
if (0 == $k) {
for ($n = 0; $n < 60; $n++) {
$y = 15 * sin($n / 30 * pi());
imagesetpixel($png, $n, 15 + $y, $red);
}
} else if (1 == $k) {
for ($n = 0; $n < 60; $n++) {
$y = 15 * cos($n / 60 * pi());
imagesetpixel($png, $n, 15 + $y, $red);
}
} else if (2 == $k) {
for ($n = 0; $n < 60; $n++) {
$y = 15 * sin($n / 45 * pi());
imagesetpixel($png, $n, 15 + $y, $brown);
}
} else if (3 == $k) {
for ($n = 0; $n < 60; $n++) {
$y = 15 * cos($n / 30 * pi());
imagesetpixel($png, $n, 15 + $y, $brown);
}
}
for ($k = 0; $k < 10; $k++) {
$i = rand(3, 60); //width
$j = rand(3, 15); //height
imageline($png, $i - 3, $j - 3, $i, $j, $black);
}
imagestring($png, 5, 3, 5, $result, $blue);
$icode = imagepng($png);
return $icode;
}
}
/*测试代码
$icode = new icode();
$icp = $icode->getcode(6,0);
echo $icp;
*/本文链接:http://www.phprm.com/code/5c608a29accb28176dda7ea2f6ce1d4d.html
收藏随意^^请保留教程地址.