基于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 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
php安全之直接用$获取值而不$_GET 字符转义
Jun 03 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
php 发送带附件邮件示例
Jan 23 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
Yii2 assets清除缓存的方法
May 16 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
简单实现php上传文件功能
Sep 21 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP实现一个限制实例化次数的类示例
Sep 16 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 24 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
PHP has encountered an Access Violation
2007/01/15 PHP
PHP之变量、常量学习笔记
2008/03/27 PHP
迅速确定php多维数组的深度的方法
2014/01/07 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
动态控制Table的js代码
2007/03/07 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Django中处理出错页面的方法
2015/07/15 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
如何写你的创业计划书
2014/01/07 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
母校寄语大全
2014/04/10 职场文书
关于美容院的活动方案
2014/08/14 职场文书
2014应届本科生自我评价
2014/09/13 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
电影复兴之路观后感
2015/06/02 职场文书
2016年感恩节寄语
2015/12/07 职场文书