服务器之家

服务器之家 > 正文

一个简单的PHP验证码实现代码

时间:2020-06-29 12:21     来源/作者:PHP代码网

实现代码:

  1. <?php 
  2.  //将验证码保存到session里,供全局使用 
  3.  session_start(); 
  4.  $nums = ""
  5.  for($i=0;$i<4;$i++){ 
  6.   //产生随机数并转换成十六进制 
  7.   $nums.=dechex(mt_rand(0,15)); 
  8.  } 
  9.  //将验证码写入session 
  10.  $_SESSION['code']=$nums; 
  11.  
  12.  //设置验证码长和宽 
  13.  $_width = 60; 
  14.  $_height = 20; 
  15.  //创建一张图片 
  16.  $_img = imagecreatetruecolor($_width,$_height); 
  17.  //创建一个白色 
  18.  $_white = imagecolorallocate($_img,220,250,250); 
  19.  //填充背景 
  20.  imagefill($_img,0,0,$_white); 
  21.  
  22.  //随机画6条线条 
  23.  for($i=0;$i<6;$i++){ 
  24.   $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)); 
  25.   imageline($_img,mt_rand(0,$_width),mt_rand(0,$_width),mt_rand(0,$_width),mt_rand(0,$_width),$_rnd_color); 
  26.  } 
  27.  
  28.  //随机画出雪花 
  29.  for($i=0;$i<60;$i++){ 
  30.   imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),"*",imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255))); 
  31.  } 
  32.  
  33.  //输出验证码 
  34.  for($i=0;$i<strlen($_SESSION['code']);$i++){ 
  35.   imagestring($_img,mt_rand(6,10),$i*$_width/4+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200))); 
  36.  } 
  37.  
  38.  //输出和销毁 
  39.  header("Content-Type:image/png"); 
  40.  imagepng($_img); 
  41.  imagedestroy($_img); 
  42. ?> 
标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
返回顶部