php5 图片验证码实现代码


Posted in PHP onDecember 11, 2009

GD库的函数
1,imagecreatetruecolor -----创建一个真彩色的图像
imagecreatetruecolor(int x_size,int y_size) //x表示宽,y表示高
2,imagecolorallocate 为一幅图像分配颜色(调色板)
imagecolorallocate(resource image,int red,int green,int blue)//red,green,blue----三原色
3,imagestring 绘图函数
iamgestring(resource image,font,int x,int y,内容,颜色);
4,输出函数
php的header是定义头的动作,php5中支持3中类型:
1,Content-type:xxxx/yyyy
2,Location:xxxx:yyyy/zzzz
3,Status:nnn xxxxxx
xxxx/yyyy表示内容文件的类型
如:image/gif
image/jpeg
image/png
例子:header("Content-type:image/jpeg")
GD库中有对应的image类型
imagejpeg(),imagegif(),imagepang()
5,imageline画线函数
iamgeline(resource image,int x1,int y1,int x2,int y2,int color);
image ---图片
x1 ---启始坐标
y1
x2 ---终点坐标
y2
6,imagesetpixel画点函数
imagesetpixel(resource image,int x,int y,int color)
7,imagettftext带字体的写入函数
imagettftext(resource image,float size,float angle,int x,int y,int color,string fontfile,string text)
8,php验证码插入中文的方法
iconv("gb2312","utf-8","字符串"); //首先要将文字转换成utf-8格式
9,随机函数
1,rand([int min,int max]) //rand(1,4) 生成1-4的数
2, dechex(十进制数) //转换为十六进制
做验证码的步骤:
生成随机数 -- 创建图片 -- 随机数写成图片 --保存在session中
输入验证码例子
gdchek.php

<?php 
/* 
* 生成图片验证码 
* and open the template in the editor. 
*/ 
session_start(); 
for($i=0;$i<4;$i++){ 
$rand.=dechex(rand(1,15)); //生成4位数包含十六进制的随机数 
} 
$_SESSION[check_gd]=$rand; 
$img=imagecreatetruecolor(100,30); //创建图片 
$bg=imagecolorallocate($img,0,0,0); //第一次生成的是背景颜色 
$fc=imagecolorallocate($img,255,255,255); //生成的字体颜色 
//给图片画线 
for($i=0;$i<3;$i++){ 
$te=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)); 
imageline($img,rand(0,15),0,100,30,$te); 
} 
//给图片画点 
for($i=0;$i<200;$i++){ 
$te=imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255)); 
imagesetpixel($img,rand()%100,rand()%30,$te); 
} 
//首先要将文字转换成utf-8格式 
//$str=iconv("gb2312","utf-8","呵呵呵"); 
//加入中文的验证 
//smkai.ttf是一个字体文件,为了在别人的电脑中也能起到字体作用,把文件放到项目的根目录,可以下载,还有本机C:\WINDOWS\Fonts中有 
imagettftext($img,11,10,20,20,$fc,"simkai.ttf","你好你好"); 
//把字符串写在图片中 
//imagestring($img,rand(1,6),rand(3,70),rand(3,16),$rand,$fc); 
//输出图片 
header("Content-type:image/jpeg"); 
imagejpeg($img); 
?>

login.php
<?php 
/* 
* 
* 
*/ 
session_start(); 
if($_POST[sub]){ 
//判断验证码是否相同 
if($_POST[gd_pic]==$_SESSION[check_gd]){ 
echo "验证成功!"; 
}else{ 
echo "验证码错误"; 
} 
} 
?> 
<form action="login.php" method="POST"> 
用户名:<input type="text" name="user"/><br> 
密码:<input type="password" name="pwd"/><br> 
验证码:<imput type="text" name="gd_pic"/><img src="gdchek.php"><br> 
<imput type="submit" name="sub" value="submit"/> 
</form>
PHP 相关文章推荐
聊天室php&amp;mysql(二)
Oct 09 PHP
windows xp下安装pear
Dec 02 PHP
PHP strtr() 函数使用说明
Nov 21 PHP
php cc攻击代码与防范方法
Oct 18 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP常用正则表达式集锦
Aug 17 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 PHP
php下图片文字混合水印与缩略图实现代码
Dec 11 #PHP
一个比较简单的PHP 分页分组类
Dec 10 #PHP
PHP 采集程序中常用的函数
Dec 09 #PHP
Php 构造函数construct的前下划线是双的_
Dec 08 #PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 #PHP
PHP 用数组降低程序的时间复杂度
Dec 04 #PHP
PHP 柱状图实现代码
Dec 04 #PHP
You might like
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
PHP 生成微信红包代码简单
2016/03/25 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
这些年、我收集的JQuery代码小结
2012/08/01 Javascript
JS编程小常识很有用
2012/11/26 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
2018/10/25 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
小程序实现上传视频功能
2020/08/18 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
CentOS6.5设置Django开发环境
2016/10/13 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
Python之Sklearn使用入门教程
2021/02/19 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
机械系大学毕业生推荐信
2013/11/27 职场文书
团工委书记自荐书范文
2013/12/17 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
单身证明格式样本
2015/06/15 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
angular异步验证器防抖实例详解
2022/03/31 Javascript
java实现面板之间切换功能
2022/06/10 Java/Android