PHP验证码函数代码(简单实用)


Posted in PHP onSeptember 29, 2013

效果图:

PHP验证码函数代码(简单实用)

<?php   
 /** 
 * vCode(m,n,x,y) m个数字  显示大小为n   边宽x   边高y 
 * micxp 
 *3water.com
 */  
session_start();    
vCode(4, 15); //4个数字,显示大小为15  function vCode($num = 4, $size = 20, $width = 0, $height = 0) {   
    !$width && $width = $num * $size * 4 / 5 + 5;   
    !$height && $height = $size + 10;    
    // 去掉了 0 1 O l 等  
    $str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW";   
    $code = '';   
    for ($i = 0; $i < $num; $i++) {   
        $code .= $str[mt_rand(0, strlen($str)-1)];   
    }    
    // 画图像  
    $im = imagecreatetruecolor($width, $height);    
    // 定义要用到的颜色  
    $back_color = imagecolorallocate($im, 235, 236, 237);   
    $boer_color = imagecolorallocate($im, 118, 151, 199);   
    $text_color = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120));    
    // 画背景  
    imagefilledrectangle($im, 0, 0, $width, $height, $back_color);    
    // 画边框  
    imagerectangle($im, 0, 0, $width-1, $height-1, $boer_color);    
    // 画干扰线  
    for($i = 0;$i < 5;$i++) {   
        $font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));   
        imagearc($im, mt_rand(- $width, $width), mt_rand(- $height, $height), mt_rand(30, $width * 2), mt_rand(20, $height * 2), mt_rand(0, 360), mt_rand(0, 360), $font_color);   
    }    
    // 画干扰点  
    for($i = 0;$i < 50;$i++) {   
        $font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));   
        imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $font_color);   
    }    
    // 画验证码  
    @imagefttext($im, $size , 0, 5, $size + 3, $text_color, 'c:\\WINDOWS\\Fonts\\simsun.ttc', $code);   
    $_SESSION["VerifyCode"]=$code;    
    header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate");   
    header("Content-type: image/png;charset=gb2312");   
    imagepng($im);   
    imagedestroy($im);   
}  
?>
PHP 相关文章推荐
php&amp;java(二)
Oct 09 PHP
PHP的FTP学习(四)
Oct 09 PHP
攻克CakePHP系列二 表单数据显示
Oct 22 PHP
PHP 截取字符串专题集合
Aug 19 PHP
PHP合并两个数组的两种方式的异同
Sep 14 PHP
实现获取http内容的php函数分享
Feb 16 PHP
php随机抽奖实例分析
Mar 04 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
Mar 21 PHP
php使用PDO执行SQL语句的方法分析
Feb 16 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
php微信扫码支付 php公众号支付
Mar 24 PHP
PHP与Web页面的交互示例详解一
Aug 04 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
Sep 28 #PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 #PHP
PHP无限分类(树形类)
Sep 28 #PHP
PHP的PSR规范中文版
Sep 28 #PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 #PHP
php中time()和mktime()方法的区别
Sep 28 #PHP
PHP用strstr()函数阻止垃圾评论(通过判断a标记)
Sep 28 #PHP
You might like
PHP新手入门学习方法
2011/05/08 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
js身份证验证超强脚本
2008/10/26 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
Python模拟登录12306的方法
2014/12/30 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
多个应用共存的Django配置方法
2018/05/30 Python
python enumerate内置函数用法总结
2020/01/07 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
上海方立数码笔试题
2013/10/18 面试题
送给程序员的20个Java集合面试问题
2014/08/06 面试题
商务会议邀请函
2014/01/09 职场文书
考核工作实施方案
2014/03/30 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书
河童之夏观后感
2015/06/11 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书