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 相关文章推荐
动态新闻发布的实现及其技巧
Oct 09 PHP
PHP一些有意思的小区别
Dec 06 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
PHP根据IP地址获取所在城市具体实现
Nov 27 PHP
使用php转义输出HTML到JavaScript
Mar 27 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
Thinkphp5.0框架视图view的模板布局用法分析
Oct 12 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 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 简单日历实现代码
2009/10/28 PHP
深入分析php之面向对象
2013/05/15 PHP
php中stream(流)的用法
2014/03/25 PHP
php下获取http状态的实现代码
2014/05/09 PHP
php快速查找数据库中恶意代码的方法
2015/04/01 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
PHP统计目录中文件以及目录中目录大小的方法
2016/01/09 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
javascript OFFICE控件测试代码
2009/12/08 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
Node.js 8 中的重要新特性
2017/06/28 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
Vue动态生成表格的行和列
2019/07/18 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Python yield 使用方法浅析
2017/05/20 Python
Python正则表达式和元字符详解
2018/11/29 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python高级特性简介
2020/08/13 Python
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
保密工作责任书
2014/04/16 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android