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);

?>

运行效果如图所示:

时间: 2024-10-01 10:44:42

PHP实现验证码图片的相关文章

javaweb学习总结(九)—— 通过Servlet生成验证码图片

一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java.awt.Graphics; 5 import java.awt.Graphics2D; 6 import java.awt.image.Buff

输出随机验证码图片

1 /** 2 * //输出随机验证码图片:CAPTCHA图像 3 */ 4 public class ServletDemo1 extends HttpServlet { 5 private static final long serialVersionUID = 1L; 6 7 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOEx

验证码图片

namespace HMOA.Common { public class ValidateCode { public ValidateCode() { } /// <summary> /// 验证码的最大长度 /// </summary> public int MaxLength { get { return 10; } } /// <summary> /// 验证码的最小长度 /// </summary> public int MinLength { ge

用python生成验证码图片

除了配置好的python环境外,还需要配有python中的PIL库,这是python中专门用来处理图片的库.用传统的pip install 方法或者下载源码 python setup.py install 方法安装该库,很可能会报错(视运行环境不同).可以采用以下方法: 1.下载安装包URL:http://www.pythonware.com/products/pil/index.htm,要下载支持全平台的. 2.解压缩: tar –zxv –f Imaging-1.1.7.tar.gz 3.进

Python Show-Me-the-Code 第 0010 题 生成验证码图片

第 0010 题:使用 Python 生成类似于下图中的字母验证码图片 阅读资料 思路:先随机生成验证码,然后用Python的PIL库画出这个激活码的图片,具体点就是创建画布,加验证码的字上去,增加噪点进行干扰,再进行模糊处理,接着保存到名字为验证码的图片中. 0010.生成验证码图片.py #!/usr/bin/env python #coding: utf-8 import Image, ImageDraw, ImageFont, ImageFilter import string, ran

用动态网页技术PHP生成验证码图片的源代码

文件a.php <? //checkNum.php session_start(); function random($len) { $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; mt_srand(); $strs=""; for($i=0;$i<$len;$i++){ $strs.=$srcstr[mt_rand(0,35)]; } return strtoupper($strs); } $str=ra

转: 通过Servlet生成验证码图片

孤傲苍狼 只为成功找方法,不为失败找借口! javaweb学习总结(九)—— 通过Servlet生成验证码图片 一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java.awt.Graphics; 5

如何实现文本框和验证码图片对齐

如何实现文本框和验证码图片对齐:在默认情况下,如果文本框和图片在同一个元素中的话,不能够实现垂直对齐,比如验证码功能,左边是文本框,右边是验证码图片,如果不加控制它们是不能够对齐的,下面就通过代码实例介绍一下如何实现文本框和图片的对齐效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content=

验证码图片转字符串

为什么? 因为之前一个项目,安卓那边说只能处理JSON,别的都不行...(后来问过他人,明明可以处理其他的~~) 当时因为赶进度,所以直接缓存了图片(囧),然后将图片地址发出去. 过后想了下完全可以转成字符串发送过去. 方法如下: 验证码图片 public BufferedImage getImage() throws IOException{ int width = 60; int height = 32; //create the image BufferedImage image = ne

利用htmlunit登陆带验证码图片的网站

http://htsoft.org/html/y2011/822_using-htmlunit-landing-site-with-captcha-image.html 利用htmlunit登陆带验证码图片的网站 2011年09月15日 ⁄ 编程语言 ⁄ 共 1266字 ⁄ 字号 小 中 大 ⁄ 暂无评论 ⁄ 阅读 7,088 次 以百度统计为例,说明下如何用htmlunit登陆带验证码的网站 //baidu统计登陆代码 try { WebClient client = new WebClien