PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)


Posted in PHP onAugust 15, 2017

这是利用GD库生成验证码的页面

test.PHP

<?php 
header('Content-Type:image/jpeg'); 
 $img = imagecreatetruecolor(100, 40); 
 $black = imagecolorallocate($img, 0x00, 0x00, 0x00); 
 $green = imagecolorallocate($img, 0x00, 0xFF, 0x00); 
 $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF); 
 imagefill($img,0,0,$white); //生成随机的验证码 
 $code = ''; 
 for($i = 0; $i < 4; $i++) { $code .= rand(0, 9); } 
 imagestring($img, 5, 10, 10, $code, $black); 
 //加入噪点干扰 
 for($i=0;$i<50;$i++) { 
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); 
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green); 
 } //输出验证码 header("content-type: image/png"); 
 imagepng($img); 
 imagedestroy($img); 
?>

这是点击验证码或看不清之后可实现局部刷新验证码

test2.php

<script type="text/javascript"> 
 function shuaxin() 
 { 
  document.getElementById('code').src = "test.php?"+Math.random(); 
 } 
</script> 
<input type="text"><br /> 
<img id="code" src="test.php" onclick="shuaxin()" /> 
<span onclick="shuaxin()">看不清?</span><br />

如下图所示:

PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)

总结

以上所述是小编给大家介绍的PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
用PHP和ACCESS写聊天室(五)
Oct 09 PHP
利用php递归实现无限分类 格式化数组的详解
Jun 08 PHP
php去除HTML标签实例
Nov 06 PHP
PHP中session变量的销毁
Feb 27 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
php实现递归的三种基本方式
Jul 04 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 #PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 #PHP
PHP高精确度运算BC函数库实例详解
Aug 15 #PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 #PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 #PHP
PHP实现的回溯算法示例
Aug 15 #PHP
php简单中奖算法(实例)
Aug 15 #PHP
You might like
PHP_MySQL教程-第一天
2007/03/18 PHP
php intval的测试代码发现问题
2008/07/27 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
JS的数组迭代方法
2015/02/05 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
物流管理专业大学生自荐信
2013/10/04 职场文书
战友聚会主持词
2014/04/02 职场文书
五一口号
2014/06/19 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
入股协议书范本
2014/11/01 职场文书
逃课检讨书范文
2015/05/06 职场文书
Nginx中break与last的区别详析
2021/03/31 Servers