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


Posted in PHP onJune 25, 2014

这里来看下效果: 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();

}
PHP 相关文章推荐
为php4加入动态flash文件的生成的支持
Oct 09 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
PHP实现通用alert函数的方法
Mar 11 PHP
php计算整个目录大小的方法
Jun 19 PHP
又十个超级有用的PHP代码片段
Sep 24 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
关于PHP通用返回值设置方法
Mar 31 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
Thinkphp5.0框架视图view的循环标签用法示例
Oct 12 PHP
PHP生成随机密码类分享
Jun 25 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 #PHP
JavaScript创建命名空间的5种写法
Jun 24 #PHP
PHP获取windows登录用户名的方法
Jun 24 #PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 #PHP
PHP判断表单复选框选中状态完整例子
Jun 24 #PHP
You might like
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
深入PHP数据加密详解
2013/06/18 PHP
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
js 遍历对象的属性的代码
2011/12/29 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
jQuery上传插件webupload使用方法
2017/08/01 jQuery
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
vuejs点击class变化的实例
2018/09/05 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
实现python版本的按任意键继续/退出
2016/09/26 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
少儿节目主持串词
2014/04/02 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server