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 相关文章推荐
基于mysql的bbs设计(五)
Oct 09 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP实现的简单缓存类
Jul 29 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
May 05 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
PHP保留两位小数的几种方法
Jul 24 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
模仿OSO的论坛(三)
2006/10/09 PHP
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
destoon数据库表说明汇总
2014/07/15 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
Vue.js中组件中的slot实例详解
2017/07/17 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
vue axios请求超时的正确处理方法
2018/04/02 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
JavaScript数组去重实现方法小结
2020/01/17 Javascript
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
Python中datetime模块参考手册
2017/01/13 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
python django生成迁移文件的实例
2019/08/31 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
如何用Python绘制3D柱形图
2020/09/16 Python
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
大学生工作求职信
2014/06/23 职场文书
诉讼授权委托书
2014/10/15 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
家长学校教学计划
2015/01/19 职场文书
活动经费申请报告
2015/05/15 职场文书