基于php验证码函数的使用示例


Posted in PHP onMay 03, 2013
function _code($_code_length = 4, $_width = 75, $_height = 25){
    for($i=0;$i<$_code_length;$i++){
        $_nmsg .= dechex(mt_rand(0,15));
    }
    $_SESSION["code"] = $_nmsg;
    $_img = imagecreatetruecolor($_width, $_height);
    $_white = imagecolorallocate($_img, 250, 250, 250);
    imagefill($_img, 0, 0, $_white);
    $_gray = imagecolorallocate($_img, 196, 196, 196);
    imagerectangle($_img, 0, 0, $_width-1, $_height-1, $_gray);
    for ($i=0; $i < 6; $i++) { 
        $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
        imageline($_img, mt_rand(0,$_width), mt_rand(0, $_height),mt_rand(0,$_width), mt_rand(0, $_height), $_md_color);
    }
    for ($i=0; $i < 50; $i++) { 
        $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
        imagestring($_img, 1, mt_rand(1,$_width-5), mt_rand(1, $_height-5), "*", $_md_color);
    }
    for ($i=0; $i < $_code_length ; $i++) { 
        $_md_color = imagecolorallocate($_img, mt_rand(0,102), mt_rand(0,102), mt_rand(0,102));
        imagestring($_img, 5, $i * $_width/$_code_length+ mt_rand(1, 10), mt_rand(1, $_height/2), $_SESSION["code"][$i], $_md_color);
    }
    header("Content-Type:image/png");
    imagepng($_img);
    imagedestroy($_img);
}
PHP 相关文章推荐
php中目录,文件操作详谈
Mar 19 PHP
php sprintf()函数让你的sql操作更安全
Jul 23 PHP
PHP IN_ARRAY 函数使用注意事项
Jul 24 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
PHP判断是否有Get参数的方法
May 05 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php随机抽奖实例分析
Mar 04 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
PHP 命名空间和自动加载原理与用法实例分析
Apr 29 PHP
基于MySQL体系结构的分析
May 02 #PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 #PHP
基于Zookeeper的使用详解
May 02 #PHP
关于尾递归的使用详解
May 02 #PHP
基于Zend的Config机制的应用分析
May 02 #PHP
Zend的Registry机制的使用说明
May 02 #PHP
Zend的MVC机制使用分析(二)
May 02 #PHP
You might like
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
php创建sprite
2014/02/11 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python新手学习函数默认参数设置
2020/06/03 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
停车场管理协议书范本
2014/10/08 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
国际贸易实训总结
2015/08/03 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers
Java存储没有重复元素的数组
2022/04/29 Java/Android