这里我们介绍图片验证码的制作,有关字符验证码能够參考下面文章:

点击打开链接

图片验证码的制作分三步:

1.制作图片库

2.随机选取一张图片

3.输出图片内容

代码例如以下(这里为了方便我直接用的本地的图片,实际中会有大量图片。路径存放在数据库中):

<?php
session_start();
$data = array(
dirname(__FILE__).'\pics\pic0.jpg'=>'狗',
dirname(__FILE__).'\pics\pic1.jpg'=>'猫',
dirname(__FILE__).'\pics\pic2.jpg'=>'鱼',
dirname(__FILE__).'\pics\pic3.jpg'=>'猪',
dirname(__FILE__).'\pics\pic4.jpg'=>'马',
dirname(__FILE__).'\pics\pic5.jpg'=>'驴',
dirname(__FILE__).'\pics\pic6.jpg'=>'鸟',
dirname(__FILE__).'\pics\pic7.jpg'=>'鸡',
dirname(__FILE__).'\pics\pic8.jpg'=>'鸭',
dirname(__FILE__).'\pics\pic9.jpg'=>'象',
); $rnd = rand(0,9);
$img = dirname(__FILE__).'\pics\pic'.$rnd.'.jpg'; $_SESSION['authcode'] = $data[$img]; $content = file_get_contents($img);
header("content-type: image/png");
echo $content;

client:

<?php
if(isset($_REQUEST['authcode'])){
session_start();
if(($_REQUEST['authcode']) == $_SESSION['authcode']){
echo '<font color="#0000cc">输入正确</font>';
}else{
echo '<font color="#cc0000"><b>输入错误</b></font>';
}
exit();
} ? > <!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="./form.php">
<p>
验证码图片:<img id="captch_code" border="1" src="./captcha_img.php?r=<?php echo rand();?>" witdh="100px" />
<a href="javascript:void(0)" onclick="document.getElementById('captch_code').src='./captcha_img.php?r='+Math.random()">换一个</a>
</p>
<p>图片内容:<input type="text" name="authcode" value="" /> </p>
<p><input type="submit" value="提交" style="padding:6px 20px;"></p>
</form>
</body>
</html>

结果图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

php验证码--图片的更多相关文章

  1. Struts2 验证码图片实例

    本文转载于DongLiYang的博客http://www.cnblogs.com/dongliyang/archive/2012/08/24/2654431.html 其中修改过一部分,针对使用注解而 ...

  2. java web学习总结(九) -------------------通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:

  3. android 生成验证码图片

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

  4. delphi WebBrowser控件上网页验证码图片识别教程(一)

    步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm ...

  5. 学习笔记:利用GDI+生成简单的验证码图片

    学习笔记:利用GDI+生成简单的验证码图片 /// <summary> /// 单击图片时切换图片 /// </summary> /// <param name=&quo ...

  6. JavaWeb---总结(九)通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片  1 package gacl. ...

  7. Java 生成验证码图片

    生成验证码图片并对提交的输入进行验证 // HttpServletResponse常见应用——生成验证码 // 利用BufferedImage类生产随机图片 public static final i ...

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

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:

  9. 012. asp.net生成验证码图片(汉字示例/字母+数字)

    protected void Page_Load(object sender, EventArgs e) { //生成验证码图片的基本步骤 string checkCode = "新年快乐& ...

  10. 验证码图片生成工具类——Captcha.java

    验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. 源码如下:(点击下载  Captcha.java) import java. ...

随机推荐

  1. 013 JstlView

    一:InternalResourceViewResolver 1.InternalResourceViewResolver JSP是常见的视图技术,可以使用InternalResourceViewRe ...

  2. Python 爬取生成中文词云以爬取知乎用户属性为例

    代码如下: # -*- coding:utf-8 -*- import requests import pandas as pd import time import matplotlib.pyplo ...

  3. (转)java代码发送JSON格式的httpPOST请求

    import Java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import j ...

  4. 动态规划-线性dp-hdu-4055

    https://www.cnblogs.com/31415926535x/p/10423047.html 这道题是大连的某一年的现场赛的题hdu-4055 ,,,刚开始做线性dp的题,,看了好半天才看 ...

  5. Python序列解包

    元组的序列解包range对象的序列解包迭代对象的序列解包列表的序列解包字典的序列解包序列解包与遍历序列解包的其它用法 元组的序列解包 x,y,z = (1,2,3) print(x,y,z) 1 2 ...

  6. socket 远程命令

    # -*- coding: utf-8 -*- # 斌彬电脑 from socket import * import subprocess server = socket(AF_INET, SOCK_ ...

  7. Codeforces Round #513 游记

    Codeforces Round #513 游记 A - Phone Numbers 题目大意: 电话号码是8开头的\(1\)位数字.告诉你\(n(n\le100)\)个数字,每个数字至多使用一次.问 ...

  8. 你不知道的react

    1.props其实是JSX属性作为单个对象传递给组件:<Welcome name="john"> {name: 'john'} 2.ReactDOM.render()的 ...

  9. 使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”

    在使用uploadify插件上传图片时,遇到一个比较坑的错误:上传时提示“Cannot read property 'queueData' of undefined”. 遇到这个问题有点无语,因为这个 ...

  10. Java知识回顾 (6)正则表达式、方法、文件与异常

    一.正则表达式 正则表达式定义了字符串的模式. 正则表达式可以用来搜索.编辑或处理文本. 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别. Java 正则表达式和 Perl 的是最为相似 ...