php生成验证码 feanmy,PHP生成验证码

check_code();

function check_code($width = 100, $height = 50, $num = 4, $type = 'jpeg')

{

$img = imagecreate($width, $height);

$string = ''; // 文字

for ($i = 0; $i < $num; $i++) {

$rand = mt_rand(0, 2);

switch ($rand) {

case 0:

$ascii = mt_rand(48, 57); //0-9

break;

case 1:

$ascii = mt_rand(65, 90); //A-Z

break;

case 2:

$ascii = mt_rand(97, 122); //a-z

break;

}

//chr()

$string .= sprintf('%c', $ascii);

}

//背景颜色

imagefilledrectangle($img, 0, 0, $width, $height, randBg($img));

//画干扰元素

for ($i = 0; $i < 50; $i++) {

imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height), randPix($img));

}

//写字

for ($i = 0; $i < $num; $i++) {

$x = floor($width / $num) * $i + 2;

$y = mt_rand(0, $height - 15);

imagechar($img, 5, $x, $y, $string[$i], randPix($img));

}

//imagejpeg

$func = 'image' . $type;

$header = 'Content-type:image/' . $type;

if (function_exists($func)) {

header($header);

$func($img);

} else {

echo '图片类型不支持';

}

imagedestroy($img);

return $string;

}

//浅色的背景

function randBg($img)

{

return imagecolorallocate($img, mt_rand(130, 255), mt_rand(130, 255), mt_rand(130, 255));

}

//深色的字或者点这些干扰元素

function randPix($img)

{

return imagecolorallocate($img, mt_rand(0, 120), mt_rand(0, 120), mt_rand(0, 120));

}

?>

动态生成验证码———MVC版

上面有篇博客也是写的验证码,但那个是适用于asp.net网站的. 今天想在MVC中实现验证码功能,弄了好久,最后还是看博友文章解决的,感谢那位博友. 首先引入生成验证码帮助类. ValidateCod ...

laravel 生成验证码的方法

在Laravel中有很多图片验证码的库可以使用,本篇介绍其中之一:gregwar/captcha,这个库比较简单,在Laravel中比较常用.下面我们就来介绍下使用细节: 首先, composer.j ...

android 生成验证码图片

(转自:http://blog.csdn.net/onlyonecoder/article/details/8231373) package com.nobeg.util; import java.u ...

PHP 动态生成验证码

……机器人会在网站中搜寻允许他们插入广告的输入表单,在虚拟世界没有什么能阻挡它们胡作非为.这些机器人效率极高,完全不关心所攻击的表单的本来用途.它们唯一的目标就是用它们的垃圾广告覆盖你的内容,残忍地为 ...

PHP生成验证码及单实例应用

/* note: * this 指向当前对象本身 * self 指向当前类 * parent 指向父类 */ /* 验证码工具类 * @author pandancode * @date 20150- ...

ASP&period;NET ashx实现无刷新页面生成验证码

现在大部分网站登陆时都会要求输入验证码,在网上也看了一些范例,现在总结一下如何实现无刷新页面生成验证码. 效果图: 实现方式: 前台:

Identify ...

PHP-仿ecshop生成验证码

Java生成验证码原理(jsp)

验证码的作用: 验证码是Completely Automated Public Turing test to tell Computers and Humans Apart(全自动区分计算机和人类的 ...

C&num;生成验证码

生成验证码的类: using System; using System.Collections.Generic; using System.Drawing; using System.Text; na ...

随机推荐

Register-SPWorkflowService 404

最近需要做一个SharePoint 2013工作流演示环境. 于是在自己的本子上安装了一个虚拟机. 虚拟机操作系统是Windows Server 2012 R2,计划把AD.SQL Server 20 ...

xplan&period;sql&lpar;本脚本获取执行计划显示执行顺序&rpar;

-- ---------------------------------------------------------------------------------------------- -- ...

Python学习三---序列、列表、元组

一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...

qt 获取当前主机的信息

随着科技的发展,嵌入式技术在生活中越来越扮演者重要的角色,小到智能手环.手机,大到智能家居.汽车,都和嵌入式技术息息相关.在嵌入式系统中,拥有良好的用户界面会使产品更具市场优势.最近正好有机会用qt做 ...

【poj2778-DNA Sequence】AC自动机&plus;矩阵乘法

题意: (只含AGCT)给定m个病毒串,让你构造一个长度为n的字符串(也只含有AGCT),问有多少种方案.n很大:1<=n<=2000000000 题解: 用病毒串建立AC自动机(num个 ...

构建 XCache 的基本步骤

构建 XCache 的基本步骤 在开始之前,首先确保 PHP 正常安装并核实 phpize 是否位于 shell 的 PATH 下.同时,还需要一个 C 编译器,例如 GNU Compiler Col ...

PAT1014——福尔摩斯的约会

大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”.大侦探很快就明白了,字条 ...

zend studio安装xdebug调试工具

1. 软件准备 登录xdebug 版本检测地址 http://xdebug.org/wizard.php  :将phpinfo产生的数据页面复制到其文本框内,显示类似如下内容: 二.将下载的xdebu ...

IIS 之 HTTP错误信息提示

一.HTTP返回码 [1]1xx - 信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应. a. 100 - 继续. b. 101 - 切换协议. [2 ...

Java使用递归找出某目录下的所有子目录以及子文件

/* 使用递归找出某目录("C:\\JavaProducts")下的所有子目录以及子文件 */ import java.util.*; import java.io.*; publ ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值