最新消息:

验证码程序

php 大步 788浏览 0评论

<?php
//return a string of random text of a desired length
//返回一个指定长度的随机字符串
//$count 字符串长度
//是否去除相似的字符
function random_text($count, $rm_similar = false){
//create list of characters
//创建字符串列表
$chars = array_flip(array_merge(range(0, 9), range('A', 'Z')));
//remove similar looking characters that might cause confusion
//去除看起来相似的字符
if($rm_similar){
   unset($chars[0], $chars[1], $chars[2], $chars[5], $chars[8], $chars['B'], $chars['I'], $chars['0'], $chars['Q'], $chars['S'], $chars['U'], $chars['V'], $chars['Z']);
}
//generate the string of random text
//随机产生随机字符串
for($i = 0, $text = ''; $i<$count; $i++)
   $text .=array_rand($chars);
return $text;
}

if(!isset($_SESSION)){
session_start();
header('Cache-control: private');
}
//create a 65x20 pixel image
//创建一个65X20 像素的图像
$width = 65;
$height = 20;
$image = imagecreate(65, 20);

//fill the image background color
//填充图像背景颜色
$bg_color = imagecolorallocate($image, 0x33, 0x66, 0xff);
imagefilledrectangle($image, 0, 0, $width, $height, $bg_color);
//fetch random text
//获得随机字符串
$text = random_text(5);

//determin x and y coordinates for centering text
//确定xy坐标,使验证码剧中显示
$font = 5;
$x = imagesx($image)/2 - strlen($text)*imagefontwidth($font)/2;
$y = imagesy($image)/2 - imagefontheight($font)/2;

//write text on image
//向图像上写入字符串
$fg_color = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
imagestring($image, $font, $x, $y, $text, $fg_color);

//save the CAPTCHA string for later comparsion
//验证码保存到session中
$_SESSION['captcha'] = $text;
//output the image
//图片输出到浏览器
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

验证码程序 - ksharp_dabu - ksharp_dabu的博客

转载请注明:大步's Blog » 验证码程序

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap