php数字运算验证码的实现代码


Posted in PHP onJuly 30, 2015

本文实例讲述了php实现数字运算验证码的方法,具体实现方法如下:

<?php
getValidate(100,30);
 
function getValidate($w,$h){
 $img = imagecreate($w,$h);
 
 $gray = imagecolorallocate($img,255,255,255);
 $black = imagecolorallocate($img,rand(0,200),rand(0,200),rand(0,200));
 $red = imagecolorallocate($img, 255, 0, 0);
 $white = imagecolorallocate($img, 255, 255, 255);
 $green = imagecolorallocate($img, 0, 255, 0);
 $blue = imagecolorallocate($img, 0, 0, 255);
 imagefilledrectangle($img, 0, 0, 100, 30, $black);
 
 
 for($i = 0;$i < 80;$i++){
  imagesetpixel($img, rand(0,$w), rand(0,$h), $gray);
 }
 
 
 $num1 = rand(1,99);
 $num2 = rand(1,99);
 
 imagestring($img, 5, 5, rand(1,10), $num1, $red);
 imagestring($img,5,30,rand(1,10),getRand(), $white);
 imagestring($img,5,45,rand(1,10),$num2, $green);
 imagestring($img,5,65,rand(1,10),"=", $blue);
 imagestring($img,5,80,rand(1,10),"?", $red);
  
 
 header("content-type:image/png");
 imagepng($img);
 imagedestroy($img);
}
function getRand(){
 $code = rand(0,1);
 switch ($code) {
  case 0:
   return "+";
   break;
  case 1:
   return "-";
   break;
  default:
   # code...
   break;
 }
}
 
?>

实现效果:

php数字运算验证码的实现代码

以上介绍的就是使用php实现数字运算验证码的方法,希望对大家的学习有所帮助。

PHP 相关文章推荐
基于php冒泡排序算法的深入理解
Jun 09 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
thinkphp控制器调度使用示例
Feb 24 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
Dec 24 PHP
php获取客户端IP及URL的方法示例
Feb 03 PHP
自制PHP框架之设计模式
May 07 PHP
详解thinkphp中的volist标签
Jan 15 PHP
php-fpm添加service服务的例子
Apr 27 PHP
PHP中PDO事务处理操作示例
May 02 PHP
微信支付之JSAPI公众号支付详解
May 15 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
文件上传之SWFUpload插件(代码)
Jul 30 #PHP
js代码实现微博导航栏
Jul 30 #PHP
两种php给图片加水印的实现代码
Apr 18 #PHP
php简单生成随机数的方法
Jul 30 #PHP
php简单判断文本编码的方法
Jul 30 #PHP
php实现的数字验证码及数字运算验证码
Jul 30 #PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 #PHP
You might like
超级实用的7个PHP代码片段分享
2012/01/05 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
javascript 内存回收机制理解
2011/01/17 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
2014/05/05 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
JavaScript模块详解
2017/12/18 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
20行JS代码实现粘贴板复制功能
2018/02/06 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
Windows下python3.7安装教程
2018/07/31 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
广告语设计及教案
2014/03/21 职场文书
ktv筹备计划书
2014/05/03 职场文书
2014年网管工作总结
2014/12/11 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
英语演讲开场白
2015/05/29 职场文书
电影复兴之路观后感
2015/06/02 职场文书