这篇文章主要为大家详细介绍了php制作网页端验证码效果,运用到短信验证码以及网页验证码实践中,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
我们在实际开发中,会用到短信验证码以及网页验证码,相对来说网页验证码的成本比较低,安全系数也还可以,接下来我们就来做一个网页端的验证码,直接上代码:
首先来说一下文件目录结构:
|----------phpyanzheng 项目文件夹
|----fonttype 文件夹放字体文件,字体文件一般以 .ttf和.otf结尾
|----1.php 里面放php语言代码
|----index.html 里面放网页布局
1.php
<?php
header('content-type:image/jpeg');//定义一下代码以jpeg文件来解析
$width = 120;//定义了图像的宽
$height = 40;//定义了图像的高
$element = array('q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x',
'c','v','b','n','m','1','2','3','4','5','6','7','8','9','0','q','w','e','r','t','y','u','i','o','p','a'
,'s','d','f','g','h','j','k','l','m','n','b','v','c','x','z');//定义一个显示文本的数组
$string = '';
for($i=0;$i<4;$i++){
$string.=$element[rand(0,count($element)-1)];//随机产生四个文本目标
}
$img = imagecreatetruecolor($width, $height);//设置验证区宽高
$colorbg = imagecolorallocate($img,rand(185,255),rand(185,255),rand(185,255));//产生200-255的随机数
$colorborder = imagecolorallocate($img,rand(50,100),rand(50,100),rand(50,100));//边框颜色
$colordian = imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100));//背景小点的颜色
$colorline = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
$colorstring = imagecolorallocate($img,rand(20,80),rand(20,80),rand(20,80));
imagefill($img, 0, 0, $colorbg);//设置位置和背景颜色
imagerectangle($img,0,0,$width-1,$height-1,$colorborder);//画一个边框
for($i=0;$i<200;$i++){//循环出200个干扰点
imagesetpixel($img, rand(0, $width-1), rand(0, $height-1), $colordian);
}
for($i=0;$i<round(5);$i++){//循环出5条干扰线
imageline($img,rand(0,$width/2),rand(0,$height/2),rand($width/2,$width),rand($height/2,$height),$colorline);
}
//imagestring($img, 4, 0, 0,'a5dg', $colorstring);
imagettftext($img,25,rand(5, 15),rand(0,40),39,$colorstring,'fonttype/princetownstd.otf',$string);
// 图像名称 字体大小 倾斜角度 起始位置x轴 起始位置y轴 颜色 字体位置 显示的内容
imagejpeg($img);//输出图像
?>
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>孙三峰--验证码</title>
<script type="text/javascript" src="js/jquery-1.1.0.js" ></script>
</head>
<body>
<!--注意:原文中对应的ip地址是自己电脑端ip,如果不能正常运行,请修改ip-->
<p>
<label class="lbright">验证码:</label>
<span>
<input type="text" name="validcode" style="width:70px; vertical-align:middle;" id="validcode"/>
<img id="codepic" src="http://192.168.1.113:8601/php/phpyanzheng/1.php" width="120" height="40"/>
</span>
<span id="codepic" onclick="getpic();">看不清楚,换一张</span> <!---->
</p>
</body>
<script type="text/javascript">
function getpic(){
$("#codepic").attr("src","http://192.168.1.113:8601/php/phpyanzheng/1.php?flag="+math.random()); <!--局部刷新-->
};
</script>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
java中网页验证码功能的实现方法
php+jquery+ajax网页验证码
使用开源工具制作网页验证码的方法
以上就是php实现网页端验证码功能的方法详解的详细内容。