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 相关文章推荐
用PHP编程语言开发动态WAP页面
Oct 09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
Jul 04 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
Sep 25 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
Linux系统下安装PHP7.3版本
Jun 26 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
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
PHP几个实用自定义函数小结
2016/01/25 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
python获取本机外网ip的方法
2015/04/15 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
财务内勤岗位职责
2014/04/17 职场文书
初中生活随笔
2015/08/15 职场文书
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL