PHP实现验证码图片
<?php
header("Content-type: image/png");
session_start();
$authnum = '';
$str = 'abcdefghigklmnopqrstuvwxyz1234567890';
$strLength = strlen($str);
for($i=0;$i<=4;$i++)
{
$num = rand(0, $strLength -1);
$authnum .= $str[$num];
}
$_SESSION['authnum'] = $authnum;
srand((double)microtime()*1000000);
$im = imagecreate(200, 100);
$gary = imagecolorallocate($im, 200, 200, 100);
$white = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 10, 5, $gary);
$li = imagecolorallocate($im, 150, 150, 150);
for($i =0;$i<3;$i++)//绘制三条干扰线
{
imageline($im, rand(0, 20), rand(0, 100), rand(180, 200), rand(0, 100), $li);
//起点的x尽量靠左边,y任意,终点尽量靠右边,y任意
}
for($i=0;$i<strlen($_SESSION['authnum']);$i++)//绘制四个字符
{
$strcolor= imagecolorallocate($im, mt_rand(0, 100), mt_rand(50, 150), mt_rand(100, 200));
$fontsize = mt_rand(10, 20);
$x = mt_rand(1,20)+200*$i/4;
$y = mt_rand(1, 50);
imagestring($im, $fontsize, $x, $y, $_SESSION['authnum'][$i], $strcolor);
}
imagepng($im);
imagedestroy($im);
?>
运行效果如图所示:
PHP实现验证码图片的更多相关文章
- Struts2 验证码图片实例
本文转载于DongLiYang的博客http://www.cnblogs.com/dongliyang/archive/2012/08/24/2654431.html 其中修改过一部分,针对使用注解而 ...
- java web学习总结(九) -------------------通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- android 生成验证码图片
(转自:http://blog.csdn.net/onlyonecoder/article/details/8231373) package com.nobeg.util; import java.u ...
- delphi WebBrowser控件上网页验证码图片识别教程(一)
步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm ...
- 学习笔记:利用GDI+生成简单的验证码图片
学习笔记:利用GDI+生成简单的验证码图片 /// <summary> /// 单击图片时切换图片 /// </summary> /// <param name=&quo ...
- JavaWeb---总结(九)通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl. ...
- Java 生成验证码图片
生成验证码图片并对提交的输入进行验证 // HttpServletResponse常见应用——生成验证码 // 利用BufferedImage类生产随机图片 public static final i ...
- javaweb学习总结(九)—— 通过Servlet生成验证码图片
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- 012. asp.net生成验证码图片(汉字示例/字母+数字)
protected void Page_Load(object sender, EventArgs e) { //生成验证码图片的基本步骤 string checkCode = "新年快乐& ...
- 验证码图片生成工具类——Captcha.java
验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. 源码如下:(点击下载 Captcha.java) import java. ...
随机推荐
- JavaScript:有符号整数与无符号整数相互转化
确实巧妙:原文http://blog.csdn.net/kandyer/article/details/8241937 <script language="JavaScript&quo ...
- javascript 中{}和[] 的理解
下面的一段解释是摘抄的,基本理解正确,做个记录.其实js中数组其实就是对象,typeof(['a', 'b', 'c'])//测试之后结果为 : "object" 一.{ } 大 ...
- Super Mario
Super Mario Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
- Lorenzo Von Matterhorn
Lorenzo Von Matterhorn Barney lives in NYC. NYC has infinite number of intersections numbered with p ...
- view类的XML属性
属性名称 对应方法 描述 android:background setBackgroundResource(int) 设置背景 android:clickable setClickable(boole ...
- JAVA的RSS处理
一:什么是RSS RSS(really simple syndication) :网页内容聚合器.RSS的格式是XML.必须符合XML 1.0规范. RSS的作用:订阅BLOG,订阅新闻二:RSS的历 ...
- inline-block的升级float:浮动
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- idempotence
如果要追根溯源,幂等性是数学中的一个概念,表达的是N次变换与1次变换的结果相同 http://www.cnblogs.com/weidagang2046/archive/2011/06/04/idem ...
- [转]hibernate缓存机制所有详解
以下文章来自http://www.blogjava.net/tbwshc/articles/380013.html Hibernate 所有缓存机制详解 hibernate提供的一级缓存 hibern ...
- Varnish CentOS 6.4 x64
CentOS 6.4 x64 Varnish 安装配置 Varnish的官方网址为http://varnish-cache.org 首先下载Varnish 稳定版本3.0.3 wget ...