php 验证码实例代码


Posted in PHP onJune 01, 2010

如果要用php的画图函数,首先要启用这个模块的功能。就是把php.ini中php_gd2.dll前面的注释去掉就好了。

下面开始画图:

  <?php 
session_start(); 
//生成验证码图片 
Header("Content-type: image/PNG"); 
$im = imagecreate(44,18); // 画一张指定宽高的图片 
$back = ImageColorAllocate($im, 245,245,245); // 定义背景颜色 
imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中 
$vcodes = ""; 
srand((double)microtime()*1000000); 
//生成4位数字 
for($i=0;$i<4;$i++){ 
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色 
$authnum=rand(1,9); 
$vcodes.=$authnum; 
imagestring($im, 5, 2+$i*10, 1, $authnum, $font); 
} 
$_SESSION['VCODE'] = $vcodes; 
for($i=0;$i<100;$i++) //加入干扰象素 
{ 
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数 
} 
ImagePNG($im); 
ImageDestroy($im); 
?>

基本就是这样实现了,其实如果给图片打水印也无非就是往图片里面写字,原理都差不多的。

使用的地方直接

<img src="xxx.php" /> 填写这个php文件的名字,就可以使用了。

PHP 相关文章推荐
用PHP生成html分页列表的代码
Mar 18 PHP
几个php应用技巧
Mar 27 PHP
php 远程图片保存到本地的函数类
Dec 08 PHP
php 文件上传系统手记
Oct 26 PHP
PHP之短标签开启设置
Jun 17 PHP
PHP加密解密类实例分析
Apr 20 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
php解决crontab定时任务不能写入文件问题的方法分析
Sep 16 PHP
解决Laravel 不能创建 migration 的问题
Oct 09 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
使用php的mail()函数实现发送邮件功能
Jun 03 PHP
php trim 去除空字符的定义与语法介绍
May 31 #PHP
phpmyadmin 3.4 空密码登录的实现方法
May 29 #PHP
Discuz!下Memcache缓存实现方法
May 28 #PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 #PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 #PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 #PHP
PHP 可阅读随机字符串代码
May 26 #PHP
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
ThinkPHP之getField详解
2014/06/20 PHP
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
php操作mongoDB实例分析
2014/12/29 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
浅谈JavaScript编程语言的编码规范
2011/10/21 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
Node.js实用代码段之获取Buffer对象字节长度
2016/03/17 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python中操作MySQL入门实例
2015/02/08 Python
Django URL传递参数的方法总结
2016/08/28 Python
python基础教程之匿名函数lambda
2017/01/17 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
python实现控制COM口的示例
2019/07/03 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
毕业实习证明(4篇)
2014/10/28 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
正规借条模板
2015/05/26 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python