php生成验证码的例子,有需要的朋友可以参考下。
-->编辑推荐<--:
与 php 验证码 有关的文章:
php 验证码类 php 验证码
php随机验证码 php生成随机验证码(图文)
一个比较稳定的php登陆系统验证码
用php生成带有雪花背景的验证码
php写的一个验证码
php生成动态图片验证码的一段代码
1、index.html:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index.html</title>
<script language="javascript">
function refresh_code()
{
form1.imgcode.src="/blog_article/verifycode/a/.html"+Math.random();
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="/blog_article/checkcode.html">
<label for="code">验证码:</label>
<input type="text" name="code" id="textfield" />
<img id="imgcode" src="/blog_article/VerifyCode.html" alt="验证码" />
<a href="javascript:refresh_code()">看不清?换一个</a>
<input type="submit" name="button" id="button" value="提交" />
</form>
</body>
</html>
2、verifycode.php
/*
图片验证码 Powered By KASON test <a href="http://www./">http://www.</a> */
session_start();
$num=4;//验证码个数
$width=80;//验证码宽度
$height=20;//验证码高度
$code=' ';
for($i=0;$i<$num;$i++)//生成验证码
{
switch(rand(0,2))
{
case 0:$code[$i]=chr(rand(48,57));break;//数字
case 1:$code[$i]=chr(rand(65,90));break;//大写字母
case 2:$code[$i]=chr(rand(97,122));break;//小写字母
}
}
$_SESSION["VerifyCode"]=$code;
$image=imagecreate($width,$height);
imagecolorallocate($image,255,255,255);
for($i=0;$i<80;$i++)//生成干扰像素
{
$dis_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));
imagesetpixel($image,rand(1,$width),rand(1,$height),$dis_color);
}
for($i=0;$i<$num;$i++)//打印字符到图像
{
$char_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255));
imagechar($image,60,($width/$num)*$i,rand(0,5),$code[$i],$char_color);
}
header("Content-type:image/png");
imagepng($image);//输出图像到浏览器
imagedestroy($image);//释放资源
?>
3、checkcode.php
<?php
ini_set('display_errors', 'Off');
session_start();
if((strtoupper()($_POST["code"])) == strtoupper(($_SESSION["VerifyCode"]))){
print("验证码正确,");
}else{
print("验证码错误,");
}
echo "提交的验证码:".strtoupper($_POST["code"]).",正确的验证码:".strtoupper($_SESSION["VerifyCode"]);
?>
又一个php验证码类,简单实用型,配有实际调用示例,初学php 验证码的朋友,可以参考学习下。
/**
* 通用验证码类 img.php
* 版本:V0.1
* www. 2013/3/1
*/
class ValidateCode {
private $charset="abcdefghizklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; //随机因子
private $code; //验证码文字
private $codelen=4; //验证码显示几个文字
private $width=130; //验证码宽度
private $height=50; //验证码高度
private $img; //验证码资源句柄
private $font; //指定的字体
private $fontsize=20; //指定的字体大小
private $fontcolor; //字体颜色 随机
//构造类 编写字体
public function __construct(){
$this->font=ROOT_PATH.'/font/elephant.ttf';
}
//创建4个随机码
private function createCode(){
$_leng=strlen($this->charset);
for($i=1;$i<=$this->codelen;$i++){
$this->code.=$this->charset[mt_rand(0,$_leng)];
}
return $this->code;
}
//创建背景
private function createBg(){
//创建画布 给一个资源jubing
$this->img=imagecreatetruecolor($this->width,$this->height);
//背景颜色
$color=imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));
//画出一个矩形
imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);
}
//创建字体
private function createFont(){
$_x=($this->width / $this->codelen); //字体长度
for ($i=0;$i<$this->codelen;$i++){
//文字颜色
$color=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
//资源句柄 字体大小 倾斜度 字体长度 字体高度 字体颜色 字体 具体文本
imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height/1.4,$color,$this->font,$this->code[$i]);
}
}
//随机线条
private function createLine(){
//随机线条
for ($i=0;$i<6;$i++){
$color = imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);
}
//随机雪花
for ($i=0;$i<45;$i++){
$color = imagecolorallocate($this->img,mt_rand(220,255),mt_rand(220,255),mt_rand(220,255));
imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);
}
}
//输出背景
private function outPut(){
//生成标头
header('ContentType:img/png');
//输出图片
imagepng($this->img);
//销毁结果集
imagedestroy($this->img);
}
//对外输出
public function doimg(){
//加载背景
$this->createBg();
//加载文件
$this->createCode();
//加载线条
$this->createLine();
//加载字体
$this->createFont();
//加载背景
$this->outPut();
}
//获取验证码
public function getCode(){
return strtolower()($this->code);
}
}
?>
调用示例:index.php
为大家推荐几篇有关php验证码的文章:
php随机验证码 php生成随机验证码(图文)
用php生成带有雪花背景的验证码
php写的一个验证码
php生成动态图片验证码的一段代码
php随机验证码 php生成随机验证码的一段代码,适合新手朋友研究学习验证码。
for($i = 0; $i<6; $i++){
$_md_color = imagecolorallocate($_img,mt_rand(0, 255),mt_rand(0, 255), mt_rand(0, 255));
imageline($_img, mt_rand(0, 75), mt_rand(0, 75), mt_rand(0, 75), mt_rand(0, 75),$_md_color);
}
//随机雪花
for($i = 0; $i<100;$i++){
$_md_color = imagecolorallocate($_img, mt_rand(200, 255), mt_rand(200, 255), mt_rand(200, 255));
imagestring($_img, 1, mt_rand(1, $_width), mt_rand(1, $_height), '*', $_md_color);
}
//黑色边框
$_black = imagecolorallocate($_img, 0, 0, 0);
imagerectangle($_img, 0, 0, $_width-1, $_height-1, $_black);
//输出验证码
for($i = 0;$i<strlen($_SESSION['code']);$i++){
$_mt_color = imagecolorallocate($_img, mt_rand(0, 100), mt_rand(0, 150), mt_rand(0, 200));
imagestring($_img, mt_rand(3, 5), $i*$_width/4+mt_rand(1, 10), mt_rand(1, $_height/2), $_SESSION['code'][$i],$_mt_color);
}
header('Content-Type:image/png');
imagepng($_img);
//销毁
imagedestroy($_img);
?>
您可能感兴趣的文章:
php验证码简单函数代码(附效果图)
分享一个php 验证码类及调用示例
php验证码的三个实例代码分享
一个php验证码的封装类
php自定义大小验证码的实例代码
php生成扭曲及旋转的验证码图片的实例代码
php仿QQ验证码的实现代码
php验证码函数使用的例子
php5验证码类(简易实用型)
php验证码(GD库生成验证码)的例子
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
php图片验证码的例子
php验证码刷新与局部刷新的实现方法
php GD库生成验证码的实例
php生成验证码的例子
php 验证码类 php 验证码
一个比较稳定的php登陆系统验证码
用php生成带有雪花背景的验证码