www.adminn.cn
站长正能量分享网!

php生成验证码实现代码

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

一款php生成验证码实现代码,自定义了session的目录,这样就不是php.ini里默认的session文件保存路径了,如下面session_save_path,可重新定义目录.

session_save_path,可重新定义目录,php生成验证码实现代码如下:

  1. $sesssavepath = dirname(__file__)."/../data/sessions/"
  2. if(is_writeable($sesssavepath) && is_readable($sesssavepath)){ session_save_path($sesssavepath); } 
  3. session_start(); 
  4. $vstr = ''
  5. for($i=0; $i<4; $i++) $vstr .= chr(mt_rand(65,90)); 
  6. if(function_exists("imagecreate")){ 
  7.  $ntime = time(); 
  8.  if(emptyempty($_session['verifycode_last']) || emptyempty($_session['verifycode']) || ($ntime – $_session['verifycode_last'] > 5)){ 
  9.   $_session['verifycode'] = strtolower($vstr); 
  10.   $_session['verifycode_last'] = $ntime
  11.  } 
  12.  $vstr = $_session['verifycode']; 
  13.  $vstrlen = strlen($vstr); 
  14.  $img = imagecreate(50,20); 
  15.  imagecolorallocate($img, 255,255,255); 
  16.  $line1 = imagecolorallocate($img,240,220,180); 
  17.  $line2 = imagecolorallocate($img,250,250,170); 
  18.  for($j=3;$j<=16;$j=$j+3){ 
  19.   imageline($img,2,$j,48,$j,$line1); 
  20.  } 
  21.  for($j=2;$j<52;$j=$j+(mt_rand(3,6))){ 
  22.   imageline($img,$j,2,$j-6,18,$line2); 
  23.  } 
  24.  $bordercolor = imagecolorallocate($img, 0x99,0x99,0x99); 
  25.  imagerectangle($img, 0, 0, 49, 19, $bordercolor); 
  26.  $fontcolor = imagecolorallocate($img, 48,61,50); 
  27.  for($i=0;$i<$vstrlen;$i++){ 
  28.   $bc = mt_rand(0,1); 
  29.   $vstr[$i] = strtoupper($vstr[$i]); 
  30.   imagestring($img, 5, $i*10+6, mt_rand(2,4), $vstr[$i], $fontcolor); 
  31.  } 
  32.  
  33.  header("pragma:no-cachern"); 
  34.  header("cache-control:no-cachern"); 
  35.  header("expires:0rn"); 
  36.  
  37.  if(function_exists("imagejpeg")){ 
  38.   header("content-type:image/jpegrn"); 
  39.   imagejpeg($img); 
  40.  }else
  41.   header("content-type:image/pngrn"); 
  42.   imagepng($img); 
  43.  } 
  44.  imagedestroy($img); 
  45.  exit();//开源代码phpfensi.com 

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php生成验证码实现代码》
文章链接:https://www.adminn.cn/news/8039.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏