PHP验证码代码分享

<?php 
session_start();   //在文件的最开头打开session 
//把英文和中文分别放入两个数组中 
$english_arr=array(‘q‘,‘w‘,‘e‘,‘r‘,‘t‘,‘y‘,‘u‘,‘i‘,‘o‘,‘p‘,‘a‘,‘s‘,‘d‘,‘f‘,‘g‘,‘h‘,‘j‘, 
                        ‘k‘,‘l‘,‘z‘,‘x‘,‘c‘,‘v‘,‘b‘,‘n‘,‘m‘); 
$chinese_arr=array(‘一‘,‘二‘,‘三‘,‘四‘,‘五‘,‘六‘,‘七‘,‘八‘,‘九‘,‘十‘,‘零‘,‘木‘,‘和‘,‘我‘, 
                        ‘人‘,‘有‘,‘的‘,‘右‘,‘主‘,‘产‘,‘为‘,‘这‘,‘工‘,‘上‘,‘下‘,‘左‘); 
/** 
* 取得中文和英文 
*/

/** 
* 取得一个随机数, 随机字母,随机中文 
*/ 
for($i=0;$i<5;$i++) 

    $index=rand(0,2); 
    if($index==‘0‘) 
    { 
        $num.=rand(0,9); 
//        echo "<font color=red>$num</font><br>"; 
    } 
    else if($index==‘1‘) 
    { 
        $num.=$english_arr[rand(0,25)]; 
//        echo "<font color=blue>$num</font><br>"; 
    } 
    else if($index==‘2‘) 
    { 
//        echo $num; 
        $num.=$chinese_arr[rand(0,25)];   //如果加入的是中文,则要转换编码 
//        echo "<font color=green>$num</font><br>"; 
    }

}

$_SESSION[check_num]=$num;  //把这个验证码记入session中 
//echo $_SESSION[check_num]; 
//  imagecreatetruecolor(宽,高) 
$image=imagecreatetruecolor(150,50);   //创建一个100,30的图片

//  imagecolorallocate(图片名,红,蓝,绿)   三原色 
imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//第一次是设置图片背景色,三原色随机

$color=imagecolorallocate($image,255,255,255);//以后的为了创建一种颜色

// imagestring(图片名,字体类型1-6六种,X坐标,Y坐标,内容,颜色) 
//imagestring($image,rand(3,6),10,3,$num,$color);   //把内容写到图片中  不能输出中文

//  imagettftext(图片名,字体大小,偏移角度,X坐标,Y坐标,颜色,字体文件地址,输入的内容)  这个内容必须要在输入的时候转换编码 
imagettftext($image,rand(15,18),0,rand(2,50),rand(30,39),$color,‘simkai.ttf‘,iconv(‘GBK‘,‘UTF-8‘,$num));   //把内容写到图片中,可以有中文

/** 
* 画线和点做干扰 
*/ 
for($i=0;$i<10;$i++) 

     $linecolor=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255)); 
     imageline($image,rand(0,150),rand(0,50),rand(0,150),rand(0,50),$linecolor);


  for($i=0;$i<200;$i++) 

     $pixelcolor=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255)); 
      imagesetpixel($image,rand(0,150),rand(0,50),$pixelcolor);

}

/** 
  * 输出图片 
  */ 
//echo dechex(rand(0,15));

header("ContentType:image/jpeg");   //设置此文件是以什么形势输出   这里是作为一张图片

imagejpeg($image);  //输出jpeg格式的图片

?>

时间: 2024-08-14 10:31:21

PHP验证码代码分享的相关文章

java随机动态生成汉字验证码图片的实例代码分享

原创不易,转载请注明出处:java随机动态生成汉字验证码图片的实例代码分享 代码下载地址:http://www.zuidaima.com/share/1809721113234432.htm 汉字验证码实现原理 将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成验证码图片并用文本框值和session值比较,功能相对来说还是比较简单的. 效果图,如下: 验证成功后: java随机动态生成汉字验证码图片的实例代码分享

jQuery实现的手机发送验证码倒计时效果代码分享

这是一款基于jquery实现的手机发送验证码倒计时效果代码,可实现实时显示秒数倒计时的功能,还可实现对手机号码格式验证的功能,是一款常用的网站注册发送手机验证码特效代码. 效果描述:注册一个网站,当需要发送验证码到手机上的时候,我们经常碰到这样的效果:首先检测手机是否符合1开头,11位数字的格式:若不符合,则提示错误信息并返回false:否则提交给后台,后台确定接收后返回一个值,发送按钮变为灰色并倒计时. 运行效果: 年利率高达14.4% 上海投融理财,20万起投,年化收益14.4% 房产抵押,

codecombat之边远地区的森林31-44关代码分享

codecombat中国游戏网址: http://www.codecombat.cn/ 所有代码为javascript代码分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31.为援兵坚持住 // 食人魔正在爬悬崖 // 为集结民兵组织保护足够长时间的农民. loop { var flag = this.findFlag(); var enemy = this.findNearestEnemy(); if (flag) { // 捡旗子 this.pickUpFla

java计划任务调度框架quartz结合spring实现调度的配置实例代码分享

点击链接加入群[JavaEE(SSH+IntelliJIDE+Maven)]:http://jq.qq.com/?_wv=1027&k=L2rbHv 一:quartz简介 OpenSymphony 的Quartz提供了一个比较完美的任务调度解决方案. Quartz 是个开源的作业调度框架,定时调度器,为在 Java 应用程序中进行作业调度提供了简单却强大的机制. Quartz中有两个基本概念:作业和触发器.作业是能够调度的可执行任务,触发器提供了对作业的调度 二:quartz spring配置详

17款jQuery在线QQ客服代码分享

17款jQuery在线QQ客服代码分享给大家咯!!拿走,不谢,我叫雷锋~~ jQuery侧边栏点击展开收缩在线QQ客服代码 jQuery网页右侧固定层显示隐藏在线qq客服代码 jQuery点击按钮遮罩弹出在线QQ客服代码 jQuery带留言在线qq客服代码 绿色的jquery qq在线客服网页右侧固定层qq客服隐藏显示代码 蓝色的jquery固定div悬浮在线客服代码 jquery固定层网页侧边栏在线qq客服代码 jquery浮动在左侧的QQ客服代码 带有弹性可伸缩的在线客服代码 jquery右

codecombat之边远地区的森林23-30关及地牢40\41关代码分享

codecombat中国游戏网址: http://www.codecombat.cn/ 所有代码为javascript代码分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23.Agrippa防守 loop { var enemy = this.findNearestEnemy(); if(enemy) { // 用 distanceTo 获取与敌人的距离. var distance = this.distanceTo(enemy); // 如果距离小于5米...

Hibernate3.3.2+Spring2.5.5+Struts2.1.6+Extjs3.0.0 Annotations注解框架整合及其代码分享

原创整理不易,转载请注明出处:Hibernate3.3.2+Spring2.5.5+Struts2.1.6+Extjs3.0.0 Annotations注解框架整合及其代码分享 代码下载地址:http://www.zuidaima.com/share/1780237805931520.htm 一.准备 1. Hibernate: hibernate-distribution-3.3.2.GA, hibernate-annotations-3.4.0.GA 2. Spring: spring-fr

Duang~Duang~Duang 还在使用jsfiddle和jsbin做在线前端代码展示和演示吗? 试试更强大的在线代码分享工具吧!

传统的代码分享工具JSbin和JSfilddle jsfiddle和jsbin可能是前端开发中最早最常用的代码“把玩”工具,拥有大量的粉丝和用户,作为前端开发攻城师来说,我个人过去也常常使用. 不过作为国外的服务和产品,加载速度非常不理解,经常半天加载不上,如下图: 而且最重要的在于大量的CDN引用JS/CSS来自于Google CDN,大家也明白,天朝不再给Google发VISA啦,所有的Google域名下的服务或者文件都无法正常访问.除非你FQ!使用非常不流畅滴说!,如下图: 轻视频代码分享

兼容PHP和Java的des加密解密代码分享

这篇文章主要介绍了兼容PHP和Java的des加密解密代码分享,适合如服务器是JAVA语言编写,客户端是PHP编写,并需要des加密解密的情况,需要的朋友可以参考下 php <?php class DES { var $key; var $iv; //偏移量 function DES($key, $iv=0) { $this->key = $key; if($iv == 0) { $this->iv = $key; } else { $this->iv = $iv; } } //加