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. ...
随机推荐
- gridview如何隐藏一列数据,但又可以使用这列数据
解决方案在RowCreated事件中书写如下代码 void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { ...
- Block 进阶
转载自:http://www.cnblogs.com/xiaofeixiang/p/4666796.html 关于Block之前有一篇文章已经写过一篇文章Object-C-代码块Block回顾,不过写 ...
- IE6下最小19px像素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- int main(int argc,char *argv[])参数的应用
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/sta ...
- Eclipse中常用的操作单词
Existing Project into Workspace 现有的工程引入工作空间(加载工程)File 文件New 新建Project 工程Folder 文件夹Import 引入(加载&导 ...
- Qt5:Qt中一些函数功能介绍
1 .setContentsMargins 该函数用于设置窗口客户区中,四周空白边框的尺寸 , 类似于 word 中的 页边距设置 2.canonical Path 返回文件路径的规范路径 , 也就 ...
- [iOS开发]WKWebView加载JS
最近项目要用webView加载js文件,挺同事说WKWebView比UIWebView更加好用,于是我今天就试试,百度一发,自己写了个demo. 先看我写的代码,然后再来看WKWebView跟UIWe ...
- zepto的源代码注释(转)
/* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(funct ...
- Android网络开发之Volley--Volley基本用法StringRequest(一)
1.StringRequest用法 主要分为3步: (1).实例化一个RequestQueue对象 (2).设置StringRequest对象参数,并将StringRequest对象加入Request ...
- js 选项卡
<html><head lang="en"> <meta charset="UTF-8"> <title>Tab ...