您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

php验证码

来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:43 点击:
<? 
/**
 * 验证码
 * 2011/8/21
 * kcj
 * */ 
include "isLogin.php"; 
//随机生成一个4位数字的验证码  
$num=''; 
for($i=0;$i<4;$i++){ 
    $num.=dechex(rand(0,20));  //dechex函数是十进制转会二进制  

session_start();   //开启session  
$_SESSION['yanzheng']=$num;  //用session记住这个验证数字  
header("Content-type:image/PNG"); 
$im=imagecreate(60,20);  //创建一个画布  
$back=imagecolorallocate($im,rand(0,55),rand(0,20),rand(0,5));//创建一个背景颜色 (黑色)  
$gray=imagecolorallocate($im,rand(0,255),rand(0,200),rand(0,55)); //(白色)  
imagefill($im,0,0,$gray);   //填充颜色  
$style=array($back,$back,$back,$back,$back,$gray,$gray,$gray,$gray,$gray); //生成数组  
imagesetstyle($im,$style);    //设定画线风格  
$y1=rand(0,20); 
$y2=rand(0,20); 
$y3=rand(0,20); 
$y4=rand(0,20); 
imageline($im,0,$y1,60,$y3,IMG_COLOR_STYLED);     //画一条线  
imageline($im,0,$y2,60,$y4,IMG_COLOR_STYLED); 
//在画布上随机生成大量黑点,起干扰作用  
for ($i=0;$i<80;$i++){ 
    imagesetpixel($im,rand(0,60),rand(0,20),$back); 

$str=rand(3,8); 
for ($i=0;$i<4;$i++){ 
    $strp=rand(1,6); 
    imagestring($im,6,$str,$strp,substr($num,$i,1),$back); 
    $str+=rand(8,12); 

ImagePNG($im); 
imagedestroy($im); 
 
?> 

摘自 chaojie2009的专栏
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • PHP测试
    • 十天学会php之第六天
    • 查找数组中指定键名的值
    • 几种显示数据的方法的比较
    • 使用xmlhttp为网站增加域名查询功能
    • PHP+MYSQL+Javascript数据库查询结果的动态显示
    • 用redis实现跨服务器session
    • 用新浪微博接口发送图片微博失败的原因
    • smarty局部缓存技术[源码分析]
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1