基于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 URL编码解码函数代码
Mar 10 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
PHP 使用header函数设置HTTP头的示例解析 表头
Jun 17 PHP
PHP中session变量的销毁
Feb 27 PHP
php实现的漂亮分页方法
Apr 17 PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
支付宝服务窗API接口开发php版本
Jul 20 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 13 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实现用户认证及管理完全源码
2007/03/11 PHP
php中OR与|| AND与&amp;&amp;的区别总结
2013/10/26 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
PHP代码覆盖率统计详解
2020/07/22 PHP
JavaScript 密码强度判断代码
2009/09/05 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
js实现消息滚动效果
2017/01/18 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
DTD的含义以及作用
2014/01/26 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
大学生就业推荐信范文
2013/11/29 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
2014年库房工作总结
2014/11/26 职场文书
奖金申请报告模板
2015/05/15 职场文书
未婚证明格式
2015/06/15 职场文书
餐厅开业活动方案
2019/07/08 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL