基于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并发访问实例代码
Sep 06 PHP
PHP内核探索:变量概述
Jan 30 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
php实现文件下载代码分享
Aug 19 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP sleep()函数, usleep()函数
Aug 25 PHP
PHP编译configure时常见错误的总结
Aug 17 PHP
Laravel框架模板继承操作示例
Jun 11 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 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递归实现层级树状展开
2016/04/01 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
php实现 master-worker 守护多进程模式的实例代码
2019/07/20 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
javascript 原型与原型链的理解及应用实例分析
2020/02/10 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
举例区分Python中的浅复制与深复制
2015/07/02 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
党支部承诺书范文
2014/03/28 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
工作总结与自我评价
2014/09/18 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL