基于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作的文本留言本的例子(六)
Oct 09 PHP
我的论坛源代码(十)
Oct 09 PHP
一个PHP模板,主要想体现一下思路
Dec 25 PHP
PHP访问MYSQL数据库封装类(附函数说明)
Dec 04 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
php构造函数与析构函数
Apr 23 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
thinkphp5.1 文件引入路径问题及注意事项
Jun 13 PHP
PHP CURL使用详解
Mar 21 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模块memcache和memcached区别分析
2011/06/14 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
python遍历序列enumerate函数浅析
2017/10/17 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
本科生学习总结的自我评价
2013/10/02 职场文书
室内设计专业个人的自我评价
2013/12/18 职场文书
安全标准化实施方案
2014/02/20 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
重阳节慰问信
2015/02/15 职场文书
董存瑞观后感
2015/06/11 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
css弧边选项卡的项目实践
2023/05/07 HTML / CSS