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类
Jul 15 PHP
PHP 无限分类三种方式 非函数的递归调用!
Aug 26 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
PHP输入输出流学习笔记
May 12 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
php排序算法实例分析
Oct 17 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 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
Zend的Registry机制的使用说明
2013/05/02 PHP
php 去除html标记--strip_tags与htmlspecialchars的区别详解
2013/06/26 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
JavaScript构造函数详解
2015/12/27 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
Python简单进程锁代码实例
2015/04/27 Python
Python中函数的参数传递与可变长参数介绍
2015/06/30 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Numpy 多维数据数组的实现
2020/06/18 Python
什么是python的必选参数
2020/06/21 Python
django rest framework 自定义返回方式
2020/07/12 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
行政助理的职责
2013/11/14 职场文书
化验室技术员岗位职责
2013/12/24 职场文书
安全生产汇报材料
2014/02/17 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
书香家庭事迹材料
2014/05/09 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
2014年英语工作总结
2014/12/20 职场文书
吴仁宝观后感
2015/06/09 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
Python基础之变量的相关知识总结
2021/06/23 Python
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python