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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
PHP中Cookie的使用详解(简单易懂)
Apr 28 PHP
PHP实现一个多功能购物网站的案例
Sep 13 PHP
PHP格式化显示时间date()函数代码
Oct 03 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
php封装的pdo数据库操作工具类与用法示例
May 08 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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
php面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
深入php 正则表达式的学习探讨
2013/06/06 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
jQuery实现模糊搜索功能的方法分析
2018/06/29 jQuery
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
CSS3解析抖音LOGO制作的方法步骤
2019/04/11 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
国贸专业的职业规划范文
2014/01/23 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
万里长城导游词
2015/01/30 职场文书
导游词之无锡梅园
2019/11/28 职场文书
Tomcat弱口令复现及利用
2022/05/06 Servers