- 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
- 2024高考物理一轮复习规范演练7共点力的平衡含解析新人教版.doc
- 高中语文第5课苏轼词两首学案3新人教版必修4.doc
- 2024_2025学年高中英语课时分层作业9Unit3LifeinthefutureSectionⅢⅣ含解析新人教版必修5.doc
- 2024_2025学年新教材高中英语模块素养检测含解析译林版必修第一册.doc
- 2024_2025学年新教材高中英语单元综合检测5含解析外研版选择性必修第一册.doc
- 2024高考政治一轮复习第1单元生活与消费第三课多彩的消费练习含解析新人教版必修1.doc
- 2024_2025学年新教材高中英语WELCOMEUNITSectionⅡReadingandThi.doc
- 2024_2025学年高中历史专题九当今世界政治格局的多极化趋势测评含解析人民版必修1.docx
- 2024高考生物一轮复习第9单元生物与环境第29讲生态系统的结构和功能教案.docx
- 2024_2025学年新教材高中英语UNIT5LANGUAGESAROUNDTHEWORLDSect.doc
文档评论(0)