php生成图片验证码代码,PHP生成图片验证码以及点击切换的代码

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

这里来看下效果:

b9504b30a0aa3eae9979a0b51d74db85.png

现在让我们来看下 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;

?>

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

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

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

}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259578.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 时间日期处理

refer to : http://www.wklken.me/posts/2015/03/03/python-base-datetime.html#datetime-string http://www.cnblogs.com/65702708/archive/2011/04/17/2018936.html http://www.runoob.com/python/python-date-time.html 转载于:https://www.cnblogs.com/qingyuanjushi/p/640…

php 字符型转变为数值,php怎么把字符串转换为数值?

php怎么把字符串转换为数值&#xff1f;下面本篇文章给大家介绍一下PHP把字符串转换为数值的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。PHP中的字符串可以很容易地转换成数值(float / int / double类型)。在大多数用例中&am…

解决rspec 生成报告时报utf-8错误的方法

找到gems\1.9.1\gems\rspec-core-2.14.3\lib\rspec\core\formatters\snippet_extractor.rb文件中的第27行&#xff1a; 在这边记录一下&#xff0c;防止以后再遇到。。。出现这个原因是因为ruby文件用utf-8格式的&#xff0c;但是源码都是GBK处理的&#xff0c;找到\lib\ruby\…

aspose.words复制插入同一word文档中的某个页面

选择word模板 Document doc new Document(Server.MapPath("~\\templet") "\\" name.Name);doc.MailMerge.CleanupOptions doc.MailMerge.CleanupOptions & ~MailMergeCleanupOptions.RemoveUnusedRegions;DocumentBuilder builder new DocumentBu…

开源游戏服务器C#

https://github.com/ScutGame/Scut/wiki转载于:https://www.cnblogs.com/porter/p/6408955.html

EFProf Entity Framework Profile 工具

SQL Server Profiler用来跟踪应用程序发送到SQL Server中的SQL语句&#xff0c;用于检测性能&#xff0c;查找问题。Entity Framework 也有它的跟踪工具EFProf&#xff0c;用于跟踪Entity Framework发送到SQL Server中的SQL语句。 首先在代码中添加对程序集HibernatingRhinos.P…

php面试中的问题,十个值得深思的PHP面试问题

十个值得深思的PHP面试问题过来人在以往的面试中总结的10个值得深思的 PHP 面试问题&#xff0c;希望对你现在的面试有用&#xff0c;少走弯路&#xff0c;更多内容请关注应届毕业生网!Q1第一个问题关于弱类型$str1 yabadabadoo;$str2 yaba;if (strpos($str1,$str2)) {echo &…

Android中ExpandableListView控件基本使用

本文採用一个Demo来展示Android中ExpandableListView控件的使用&#xff0c;如怎样在组/子ListView中绑定数据源。直接上代码例如以下&#xff1a; 程序结构图&#xff1a; layout文件夹下的 main.xml 文件源代码例如以下&#xff1a; <?xml version"1.0" encodi…

【暴力】Codeforces Round #398 (Div. 2) A. Snacktower

题意不复述。 用个bool数组记录一下&#xff0c;如果某一天&#xff0c;当前剩下的最大的出现了的话&#xff0c;就输出一段。 #include<cstdio> using namespace std; int n; bool vis[100010]; int main() { // freopen("a.in","r",stdin);scanf(&…

javascript的对象创建模式---命名空间模式

javascript中对象的概念是很普遍的&#xff0c;对象是是对象&#xff0c;数组是对象&#xff0c;函数也是对象&#xff0c;字符串其实也是对象。常见的对象创建方法有对象字面量、构造函数创建。我们先来看看对象的创建还有哪些更高级的模式。 一、命名空间模式 二、模块模式 三…

把Liststring集合,编程string,并以“,”号分割

List<int> roleIdList GetRoleIdList(user.ID); string roleIdsStr ""; if (roleIdList ! null) {roleIdsStr string.Join(",", roleIdList); } 转载于:https://www.cnblogs.com/lijingran/p/6420364.html

武林外史java游戏,武林外史_网络游戏专区_腾讯游戏频道

1 、武师用防御工具1) 武卫类> 用土布制作的防护工具。阶段图片名称说明1武威带所需功力值所需力量所需技艺所需体力所需智能所需敏捷性防御力防御成功率8013013021 %武威甲所需功力值所需力量所需技艺所需体力所需智能所需敏捷性防御力防御成功率4160150021 %武威长裤所需功…

简单实现KeyChain实例

目录结构如下&#xff1a; AppDelegate.m 1 //2 // AppDelegate.m3 // KeyChain4 //5 // Created by apple on 14-12-26.6 // Copyright (c) 2014年 ll. All rights reserved.7 //8 9 #import "AppDelegate.h" 10 11 interface AppDelegate () 12 13 end 14 1…

Oracle 建立包 和 包体

--创建包create or replace package pac_stuastype cur_stu is ref cursor;procedure getStu(i in number,cur_stu out cur_stu);end pac_stu;--创建包体create or replace package body pac_stuasprocedure getStu(i in number,cur_stu out cur_stu)asnums number(10);begins…

alibaba fastjson

JSON解析器fastjson&#xff08;阿里巴巴出品&#xff0c;版本1.1.33&#xff09; import com.alibaba.fastjson.JSON; public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArraypublic static final JSONObject parseObject(String text)…

matlab 读取excel一列,读取excel中的数据把第一列相同的所有行数据输出成一个excel...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼284 1113436773300.00 1113436773.30 44.55284 1113436773400.00 1113436773.40 44.55284 1113436773500.00 1113436773.50 44.55284 1113436773600.00 1113436773.60 44.55284 1113436773700.00 1113436773.70 43.77284 111343677…

js function理解

1.function是对象&#xff0c;定义一个function就会在堆中创建一个对象。生成函数如下&#xff1a; (1) var a new Function("document.write(1)"); (2) var a function(){document.write(1);} (3) function a(){ document.write(1); } (4) (function(){ document.…

锅巴H264播放器地址和说明

锅巴H264播放器地址和说明 软件说明: 此工具专门用来播放安防监控行业的H264录像文件,不管是哪个设备厂家的视频协议,只要您的录像文件里有 H264数据,就可以播放. 备注: 因为被一些事情的影响,本来做好了很多的功能, 犹豫很长时间,还是去掉了,这个播放器仅仅是演示我们的解码器…

poj2431 Expedition

直接代码、、、 #include<string.h> #include<stdio.h> #include<queue> #include<iostream> #include<algorithm> using namespace std; struct node {int fuel,dist;//bool operator < (const node&d) const{// return dist>d.dist…

JAVA入门[6]-Mybatis简单示例

初次使用Mybatis,先手写一个hello world级别的例子&#xff0c;即根据id查询商品分类详情。 一、建表 create table Category ( Id INT not null, Name varchar(80) null, constraint pk_category primary key (Id) ); 插入测试数据 INSERT INTO category VALUES (1,Fish); INS…