加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 云服务器、云原生、边缘计算、云计算、混合云存储!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP生成图片验证码 点击切换方法分析

发布时间:2023-12-22 21:58:49 所属栏目:PHP教程 来源:DaWei
导读: 这里来看下效果:

现在让我们来看下PHP代码:

<?PHP

session_start();

function random($len) {

$srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";

mt_srand();
这里来看下效果: 

现在让我们来看下PHP代码:

<?PHP

 session_start();

 function random($len) {

     $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";

     mt_srand();

     $strs = "";

     for ($i = 0; $i < $len; $i++) {

         $strs .= $srcstr[mt_rand(0,30)];

     }

     return $strs;

 }

 //随机生成的字符串

 $str = random(4); 

 //验证码图片的宽度

 $width  = 50;      

 //验证码图片的高度

 $height = 25;     

 //声明需要创建的图层的图片格式

 @ header("Content-Type:image/png");

 //创建一个图层

 $im = imagecreate($width,$height);

 //背景色

 $back = imagecolorallocate($im,0xFF,0xFF);

 //模糊点颜色

 $pix  = imagecolorallocate($im,187,230,247);

 //字体色

 $font = imagecolorallocate($im,41,163,238);

 //绘模糊作用的点

 mt_srand();

 for ($i = 0; $i < 1000; $i++) {

     imagesetpixel($im,mt_rand(0,$width),$height),$pix);

 }

 //输出字符

 imagestring($im,5,7,$str,$font);

 //输出矩形

 imagerectangle($im,$width -1,$height -1,$font);

 //输出图片

 imagepng($im);

 imagedestroy($im);

 $str = md5($str);

 //选择 cookie

 //SetCookie("verification",time() + 7200,"/");

 //选择 Session

 $_SESSION["verification"] = $str;

 ?>

接下来只要在页面中调用就可以了:

<img id="checkpic" onclick="changing();" src='/images/checkcode.PHP' /> 

如果想实现 "看不清?换一张" 效果,添加如下 JS 到页面中:

function changing(){

     document.getElementById('checkpic').src="/images/checkcode.PHP?"+Math.random();

}

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章