基于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 smarty模版引擎中的缓存应用
Dec 02 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
解析PHP中ob_start()函数的用法
Jun 24 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
ThinkPHP实现分页功能
Apr 28 PHP
php读取本地json文件的实例
Mar 07 PHP
yii2安装详细流程
May 23 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
Aug 26 PHP
详解PHP用mb_string处理windows中文字符
May 26 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安装全攻略:APACHE
2006/10/09 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
PHP函数getenv简介和使用实例
2014/05/12 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php计算整个目录大小的方法
2015/06/19 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
javascript基础的动画教程,直观易懂
2007/01/10 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
2015/03/13 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
python实现简易数码时钟
2021/02/19 Python
Python可迭代对象操作示例
2019/05/07 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
2014/03/16 面试题
新员工培训个人的自我评价
2013/10/09 职场文书
高中语文教学反思
2014/01/16 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫