- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
php开发实例---用户登陆模块的实现(用户权限的控制验证码的生成)
PHP开发一个用户登陆模块,关键技术(session会话、cookie应用、GD库应用)
大家好,今日我们一起来开发一个PHP随机验证码的生成实例。首先,我们来看一下效果:
开发随机验证码使用到的函数有以下几个。如果有不明白这些函数的使用方法的朋友,请参考PHP5开发手册。
1.imagecreatetruecolor(); //创建一个真彩的画布
2.imagecolorallocate(); //分配颜色
3.imagefill(); //填充颜色
4.imagerectangle(); //画一个矩形,用于绘制验证码的边框
5.imagettftext(); //将文本内容写入到图像中
6.imagesetpixel(); //绘制一个单一像素
6imageline(); //绘制一条线
7.imagepng(); //输出图像
8.imagedesctroy(); //销毁图像,释放内容
PHP开发随机验证码的步骤与思路
获取随机验证码的内容
创建一个真彩画布,分配字体颜色跟背景颜色
开始绘画
输出图像
销毁图像
自定义一个函数用来获取随机验证码
(本人目前在淘宝网上注册了一家小小的店铺,主要营业服装之类的商品。有兴趣有需要的朋友请访问:可以直联系到本人!)
接下来我们开始开发,在网站的根目录下新建一个PHP文件(code.php):
?php
session_start();
//生成随机验证码
$num=4;
$str=getCode($num,0);
$_SESSION[code]=$str;
//1.创建图像,定义颜色
$width=$num*20;
$height=25;
$im=imagecreatetruecolor($width,$height);
//1.1字体颜色
$color[] = imagecolorallocate($im,111,0,55);
$color[] = imagecolorallocate($im,0,77,0);
$color[] = imagecolorallocate($im,0,0,160);
$color[] = imagecolorallocate($im,221,111,0);
$color[] = imagecolorallocate($im,220,0,0);
//1.2背景颜色
$bgcolor = imagecolorallocate($im,240,240,240);
//2.开始绘画,使用imagefill()、imagerectangle()函数给图像增加背景颜色与边框颜色
imagefill($im,0,0,$bgcolor);
imagerectangle($im,0,0,$width-1,$height-1,$color[rand(0,4)]);
//2.1使用imagettftext()函数,将文本内容写入到图像中
for($i=0;$i$num;$i++){
imagettftext($im,14,rand(-20,20),5+(18*$i),20,$color[rand(0,4)],msyh.ttf,$str[$i]);
}
//2.2使用imagesetpixel()增加小于100个的干扰点
for($i=0;$i100;$i++){
//随机颜色
$c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im,rand(0,$width),rand(0,$height),$c);
}
//2.3使用imageline()增加小于$num个数的干扰线
for($i=0;$i$num;$i++){
//随机颜色
$c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$c);
}
//3.输出图像,通过header()函数,告诉浏览器输出PNG图像格式,而不是文本形式
header(Content-Type:image/png);
imagepng($im);
//4.销毁图像,释放内容
imagedestroy($im);
//5.自定义函数,获取随机验证码
function getCode($m=4,$type=0){
//随机验证码的内容
$str=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU
您可能关注的文档
- PC游戏安装运行问题超级总结解决插件介绍提示缺少d3dx9xxdll类免CD硬盘版安装删除注册表游戏残留信息.doc
- PCM嵌入式软件概要设计V10.doc
- PDA及其条形码技术在电力物资管理中的应用思考.doc
- PDCA循环管理在工程管理中的应用.doc
- PDCA实战应用(周新奇).doc
- PDCA循环在图书馆管理中的具体应用分析.doc
- PCT在诊断细菌感染及指导抗生素使用的价值.docx
- pdf如何转换成jpg的方法解析.doc
- PdfCAJppt转化为word文档的方法.doc
- PDFFactoryProv352中文专业版安装及转换操作指南.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)