php 数学运算验证码实现代码

2015-01-24信息快讯网

php 数学运算验证码实现代码

<?php 
//------------------------------------- 
// 文件说明:数学运算验证码 
// 文件作者:Jesse Lee 
// 最后更新:2008-09-07 
//------------------------------------- 

session_start(); 

$sessionvar = 'vdcode'; //Session变量名称 
$width = 150; //图像宽度 
$height = 20; //图像高度 

$operator = '+-*'; //运算符 

$code = array(); 
$code[] = mt_rand(1,9); 
$code[] = $operator{mt_rand(0,2)}; 
$code[] = mt_rand(1,9); 
$code[] = $operator{mt_rand(0,2)}; 
$code[] = mt_rand(1,9); 
$codestr = implode('',$code); 
eval("\$result = ".implode('',$code).";"); 
$code[] = '='; 

$_SESSION[$sessionvar] = $result; 

$img = ImageCreate($width,$height); 
ImageColorAllocate($img, mt_rand(230,250), mt_rand(230,250), mt_rand(230,250)); 
$color = ImageColorAllocate($img, 0, 0, 0); 

$offset = 0; 
foreach ($code as $char) { 
$offset += 20; 
$txtcolor = ImageColorAllocate($img, mt_rand(0,255), mt_rand(0,150), mt_rand(0,255)); 
ImageChar($img, mt_rand(3,5), $offset, mt_rand(1,5), $char, $txtcolor); 
} 

for ($i=0; $i<100; $i++) { 
$pxcolor = ImageColorAllocate($img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); 
ImageSetPixel($img, mt_rand(0,$width), mt_rand(0,$height), $pxcolor); 
} 

header('Content-type: image/png'); 
ImagePng($img); 
?> 
©2014-2024 dbsqp.com