基于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 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
QQ登录 PHP OAuth示例代码
Jul 20 PHP
PHP获取时间排除周六、周日的两个方法
Jun 30 PHP
如何让CI框架支持service层
Oct 29 PHP
php使用parse_url和parse_str解析URL
Feb 22 PHP
PHP实现远程下载文件到本地
May 17 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
Laravel框架使用Redis的方法详解
May 30 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
Mac系统下安装PHP Xdebug
2018/03/30 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
jQuery实现的上传图片本地预览效果简单示例
2018/03/29 jQuery
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
详解Python3的TFTP文件传输
2018/06/26 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
pandas分批读取大数据集教程
2020/06/06 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
美国眼镜网站:LensCrafters
2020/01/19 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
军训考核自我鉴定
2014/02/13 职场文书
森林病虫害防治方案
2014/06/02 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
教师学期末个人总结
2015/02/13 职场文书
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL