基于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 session 检测和注销
Mar 16 PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
PHP之密码加密的几种方式
Jul 29 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
php生出随机字符串
Jul 06 PHP
php中请求url的五种方法总结
Jul 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
thinkphp控制器调度使用示例
2014/02/24 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
新手入门常用代码集锦
2007/01/11 Javascript
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
JS实现颜色动态淡化效果
2017/03/06 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
详解webpack 热更新优化
2018/09/13 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
python基于递归解决背包问题详解
2019/07/03 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
pycharm实现在子类中添加一个父类没有的属性
2020/03/12 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
如何打开WebSphere远程debug
2014/10/10 面试题
师范应届生求职信
2013/11/15 职场文书
文明村创建实施方案
2014/03/27 职场文书
作文评语大全
2014/04/23 职场文书
导游词开场白
2015/01/31 职场文书
商务考察邀请函模板
2015/02/02 职场文书
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL
vue动态绑定style样式
2022/04/20 Vue.js
Python中的协程(Coroutine)操作模块(greenlet、gevent)
2022/05/30 Python