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 相关文章推荐
自动分页的不完整解决方案
Jan 12 PHP
Cakephp 执行主要流程
Mar 24 PHP
php抓取https的内容的代码
Apr 06 PHP
第4章 数据处理-php数组的处理-郑阿奇
Jul 04 PHP
PHP 透明水印生成代码
Aug 27 PHP
PHP实现的带超时功能get_headers函数
Feb 10 PHP
PHP中使用hidef扩展代替define提高性能
Apr 09 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 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
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
jquery 多行滚动代码(附详细解释)
2010/06/17 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
js实现漫天星星效果
2017/01/19 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python递归法解决棋盘分割问题
2019/07/17 Python
python yield和Generator函数用法详解
2020/02/10 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
python3中数组逆序输出方法
2020/12/01 Python
护士实习自我鉴定
2013/10/22 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
感恩节寄语2015
2015/03/24 职场文书
老人节主持词
2015/07/04 职场文书
初中政教处工作总结
2015/08/12 职场文书
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis