学习PHP,它的函数库太强大了,就觉得很神奇,创建验证码也是很有意思,记录一下吧!
<?php
header('Content-type:image/jpeg');
$width=150;
$height=100;
$element=array('a','b','c','d','e','f','g','h','i','j','k','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$string='';
for ($i=0;$i<5;$i++){//输出5个元素
$string.=$element[rand(0, count($element)-1)];
}
$image=imagecreatetruecolor($width, $height);//制作图像
$color1=imagecolorallocate($image, rand(200, 255),rand(200, 255), rand(200, 255));
$colorBorder=imagecolorallocate($image, rand(200, 255), rand(200, 255), rand(200, 255));//加入图像边框
$colorString=imagecolorallocate($image, rand(10, 100), rand(10, 100), rand(10, 100));
imagefill($image, 0, 0, $color1);//图像填充
imagerectangle($image, 0, 0, $width-1, $height-1, $colorBorder);
for($i=0;$i<100;$i++){//制作图像上的小点点
imagesetpixel($image, rand(0, $width-1), rand(0, $height-1), imagecolorallocate($image, rand(100, 200), rand(100, 200), rand(100, 200)));
}
for($i=0;$i<4;$i++){//制作图像上的线条
imageline($image,rand(0, $width) , rand(0, $height/2), rand(0, $height),rand(0, $height),imagecolorallocate($image, rand(100, 200), rand(100, 200), rand(100, 200)));
}
//imagestring($image, 5, 0, 0, 'abcd', $colorString);
imagettftext($image, 25,5, rand(20, 50), rand(20, 70), $colorString,'font/Pirata One.ttf' ,$string);//设置字体,font/Pirata One.ttf是我下载的字体存放目录
imagejpeg($image);
?>
不断刷新就可以,动态验证码就完成啦!
验证码