基于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语法(5)
Oct 09 PHP
php将数据库中的电话号码读取出来并生成图片
Aug 31 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
Dec 24 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
PHP中的traits简单使用实例
May 13 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
Oct 08 PHP
PHP单例模式简单用法示例
Jun 23 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
TP5框架安全机制实例分析
Apr 05 PHP
Laravel实现批量更新多条数据
Apr 06 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
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
BootStrap中关于Select下拉框选择触发事件及扩展
2016/11/22 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
教你学会使用Python正则表达式
2017/09/07 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
Django框架请求生命周期实现原理
2020/11/13 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
中国宠物用品商城:E宠商城
2016/08/27 全球购物
几个Shell Script面试题
2014/04/18 面试题
个人贷款承诺书
2014/03/28 职场文书
老干部座谈会主持词
2015/07/03 职场文书
2019年年中工作总结讲话稿模板
2019/03/25 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书