PHP 验证码

[ 不指定 2008/07/12 10:21 | by wxxslt ]
加入干扰象素:

<?php    
/*    
* 文件:code.php    
* 作用:验证码生成    
*/    
$chinesechar = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
/*
$chinesechar = array("人","出","来","友","学","孝","仁","义","礼","廉","忠","国","中","易","白","者","火 ","土","金","木","雷","风","龙","虎","天","地", "生","晕","菜","鸟","田","三","百","钱","福 ","爱","情","兽","虫","鱼","九","网","新","度","哎","唉","啊","哦","仪","老","少","日","月 ","星");
*/
session_start();
// 设置 content-type    
header("Content-type: image/png");
// 创建图片    
$im = imagecreatetruecolor(62,20);
// 创建颜色    
$fontcolor = imagecolorallocate($im,0,0,0);  
$bgcolor=imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$bgcolor);
// 设置文字    

for($i=0;$i<4;$i++)
{
$text.=$chinesechar[(array_rand($chinesechar))];    
}
$_SESSION['code'] = $text;
// 设置字体
$font = 'cc.ttf';

// 添加文字    
imagettftext($im,12,0,3,15,$fontcolor,$font,$text);
srand((double)microtime()*1000000);
for($i=0;$i<200;$i++)   //加入干扰象素
{
    $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
    imagesetpixel($im,rand()%70,rand()%30,$randcolor);
}
// 输出图片    
imagepng($im);    
imagedestroy($im);    
?>


中文验证码好像不能输出?暂时没有试成功,不知道怎么编写,还有一个问题是如何绘制一个矩形边框?如果矩形边框要为黑色?程序又如何编写?高手跟帖。
Tags: ,
学习心得 | Comments(0) | Trackbacks(0) | Reads(194)
Add a comment
Nickname [Register]
Password Optional
Site URI
Email
Enable HTML Enable UBB Enable Emots Hidden Remember