基于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 相关文章推荐
Ajax+PHP边学边练 之五 图片处理
Dec 03 PHP
php中在PDO中使用事务(Transaction)
May 14 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 PHP
PHP实现将base64编码字符串转换成图片示例
Jun 22 PHP
php获取微信基础接口凭证Access_token
Aug 23 PHP
PHP中的self关键字详解
Jun 23 PHP
Laravel基础-关于引入公共文件的两种方式
Oct 18 PHP
Yii框架模拟组件调用注入示例
Nov 11 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 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
图形数字验证代码
2006/10/09 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
JS 图片缩放效果代码
2010/06/09 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
Jquery异步提交表单代码分享
2015/03/26 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
python中的随机函数小结
2018/01/27 Python
python实现多线程网页下载器
2018/04/15 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
python实现从wind导入数据
2019/12/03 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
手术室护士自我鉴定
2013/10/14 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
财务人员求职自荐书范文
2014/02/10 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
2015年党员自评材料
2014/12/17 职场文书
写给老师的保证书
2015/05/09 职场文书
小学入学感言
2015/08/01 职场文书
《童年》读后感(三篇)
2019/08/27 职场文书
Redis实现订单过期删除的方法步骤
2022/06/05 Redis