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编程最快明白》第三讲:php数组
Nov 01 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
Oct 27 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
PHP实现事件机制实例分析
Jun 26 PHP
PHP7匿名类用法分析
Sep 26 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 PHP
PHP高精确度运算BC函数库实例详解
Aug 15 PHP
Laravel向公共模板赋值方法总结
Jun 25 PHP
PHP中define() 与 const定义常量的区别详解
Jun 25 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 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
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
php实现下载限制速度示例分享
2014/02/13 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python socket编程实例详解
2015/05/27 Python
CentOS安装pillow报错的解决方法
2016/01/27 Python
Python过滤列表用法实例分析
2016/04/29 Python
回调函数的意义以及python实现实例
2017/06/20 Python
Linux下多个Python版本安装教程
2018/08/15 Python
python中退出多层循环的方法
2018/11/27 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python多线程分块读取文件
2019/08/29 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
一套C++笔试题面试题
2012/06/06 面试题
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
Pandas搭配lambda组合使用详解
2022/01/22 Python
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL