PHP生成图片验证码、点击切换实例

这篇文章主要介绍了PHP生成图片验证码实例,同时介绍了点击切换(看不清?换一张)效果实现方法,需要的朋友可以参考下

这里来看下效果: 

现在让我们来看下 PHP 代码

<?php

session_start();

function random($len) {

    $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";

    mt_srand();

    $strs = "";

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

        $strs .= $srcstr[mt_rand(0, 30)];

    }

    return $strs;

}

//随机生成的字符串

$str = random(4); 

//验证码图片的宽度

$width  = 50;      

//验证码图片的高度

$height = 25;     

//声明需要创建的图层的图片格式

@ header("Content-Type:image/png");

//创建一个图层

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

//背景色

$back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

//模糊点颜色

$pix  = imagecolorallocate($im, 187, 230, 247);

//字体色

$font = imagecolorallocate($im, 41, 163, 238);

//绘模糊作用的点

mt_srand();

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

    imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);

}

//输出字符

imagestring($im, 5, 7, 5, $str, $font);

//输出矩形

imagerectangle($im, 0, 0, $width -1, $height -1, $font);

//输出图片

imagepng($im);

imagedestroy($im);

$str = md5($str);

//选择 cookie

//SetCookie("verification", $str, time() + 7200, "/");

//选择 Session

$_SESSION["verification"] = $str;

?>

接下来只要在页面中调用就可以了:

<img id="checkpic" onclick="changing();" src=‘/images/checkcode.php‘ />

如果想实现 "看不清?换一张" 效果,添加如下 JS 到页面中

function changing(){

    document.getElementById(‘checkpic‘).src="/images/checkcode.php?"+Math.random();

} 
时间: 2024-10-06 11:55:22

PHP生成图片验证码、点击切换实例的相关文章

问答项目---登陆验证码点击切换及异步验证验证码

输出验证方法: public function verify(){ $config = array( 'length' => 2, 'reset' => false, 'useCurve' => false, 'useNoise' => false, ); $obj = new \Think\Verify($config); $obj->entry(); } 调用: <img src="{:U('verify')}"/ id='code'> &

PHP生成图片验证码demo【OOP面向对象版本】

下面是我今天下午用PHP写的一个生成图片验证码demo,仅供参考. 这个demo总共分为4个文件,具体代码如下: 1.code.html中的代码: 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <title>登录.注册验证码生成</title> 6 </head> 7 <bo

Android 自定义View之随机生成图片验证码

本篇文章讲的是Android自定义View之随机生成图片验证码,开发中我们会经常需要随机生成图片验证码,但是这个是其次,主要还是想总结一些自定义View的开发过程以及一些需要注意的地方. 按照惯例先看看效果图: 一.先总结下自定义View的步骤: 1.自定义View的属性 2.在View的构造方法中获得我们自定义的属性 3.重写onMesure 4.重写onDraw 其中onMesure方法不一定要重写,但大部分情况下还是需要重写的 二.View 的几个构造函数 1.public CustomV

PHP GD 生成图片验证码+session获取储存验证码

下面分享一个PHP制作的图片验证码案例:案例如下图: 运用PHP GD详细请看:http://www.php.net/manual/zh/book.image.php 后台图片代码如下: <?php session_start(); $image = imagecreatetruecolor(100,30);//创建一个宽100,高度30的图片 $bgcolor=imagecolorallocate($image,255,255,255);//图片背景是白色 imagefill($image,0

基于Struts2 Spring ibatis Oracle10g架构 多数据源动态切换实例

一.概述 基于Spring动态配置多数据源,在大型的应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效的提高系统的水平伸缩性,而这样的解决方案就会补同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求以及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据. Spring配置多个数据源的方式和具体使用过程,Spring对于多数据源,以数据库表为参照,大体上可以分为两大类情况: 1.表级上的跨数据库,即对于不同的数据库却有不相同的表(表名和表结构完全

Android之fragment点击切换和滑动切换结合

学了一小段时间的Android,主要接触的是UI设计,打交道最多莫过于fragment了吧.在Android3.0引入了fragment的概念后,几乎在所以的Android的应用中都可以看见其身影,已经有很多前辈高人都已经详细介绍过fragmrnt,我这里就不多说什么了. 这里本来是想模仿一下微信的切换效果,怎奈水平不足,这里就献丑贴出半成品的代码,希望有大神能指点一下.废话不多说,上代码.先从简单的开始吧,这里是我一共用了3个fragment,这里就只贴出第一个的fragment的布局,别的两

servletResponse 随机生成图片验证码

/***********************************servlet页面************************************/ package response; import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOE

net生成图片验证码--转自Lisliefor

目前,机器识别验证码已经相当强大了,比较常见的避免被机器识别的方法,就是将验证码的字符串连到一起,这样就加大的识别的难度,毕竟机器没有人工智能.我找了很多的.net生成图片验证码的例子,后来经过一些修改和整理,差不多满足了我的要求:图片有噪音点,每个字符的字体随机,颜色随机,字符部分重叠. 那么如何实现呢? 1. 首先,验证码图片标签<img>链接到生成图片的aspx页面,如: [c-sharp] view plaincopyprint? <img src="Identifyi

JQ-用户注册用到的图形验证码和短信验证码点击事件

// 点击切换图形验证码 页面加载完后执行,类似window.onload $(function () { var imgCaptcha = $(".img-captcha"); imgCaptcha.click(function () { imgCaptcha.attr("src", "/account/register/img/captcha"+"?random="+Math.random()); }); }); // 点