麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
做了个好看的验证码
悬赏分:20 - 2007年08月22日

<?php
//image.php


//产生随机字符串
function randStr($len=6,$format='CHAR') {
switch($format) {
case 'ALL':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; break;
case 'CHAR':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; break;
case 'NUMBER':
$chars='0123456789'; break;
default :
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
}
$string="";
while(strlen($string)<$len)
$string.=substr($chars,(mt_rand()%strlen($chars)),1);
return $string;
}

//画图
function image($code,$entropyLevel=15)
{
$type = 'gif'; // 格式
$width= 300; // 宽
$height= 80; // 高

//所用字体
$fontFileArray[0]='..\font\b.ttf';
$fontFileArray[1]='..\font\b.ttf';
$fontFileArray[2]='..\font\c.ttf';
$fontFileArray[3]='..\font\d.ttf';
$fontFileArray[4]='..\font\e.ttf';
$fontFileArray[5]='..\font\g.ttf';



header("Content-type: image/".$type);
$im = @imagecreate($width,$height);

ImageColorAllocate($im,255,255,255); //背景

// 画字符
$codeArray = str_split($code);
$strX=12;

for ($i=0;$i {
$strColor= ImageColorAllocate($im,rand(0,222),rand(0,222),rand(0,222));//字体颜色
$strY = rand(60,70); // y座标
$angle = rand(-30,30); // 倾斜角度
$fontSize = rand(35,40); // 字体大小

$arraySize = count($fontFileArray);
$fontFileArrayKey=rand(0,$arraySize-1);
$fontStyle=$fontFileArray[$fontFileArrayKey];
ImageTTFText($im, $fontSize, $angle, $strX, $strY, $strColor, $fontStyle, $codeArray[$i]);
$strX =$strX+rand(42,50); // x座标++

}

// 画干扰线条
for ($i=0;$i<$entropyLevel;$i++)
{
$lineColor= ImageColorAllocate($im,rand(0,255),rand(0,255),rand(0,255));//线条颜色
imageline($im, rand (0,200), rand (0,60), rand (0,$width), rand (0,$height), $lineColor);
//imagearc($im, rand (0,200), rand(0,60), rand (0,$width), rand(0,$height), rand(-360,360), rand(-360,360), $lineColor);
}



$ImageTypeFunction='Image'.$type;
$ImageTypeFunction($im);
@ImageDestroy($im);
}


function setCodeSessionName($codeName = 'safeCode'){
$code = randStr();
session_start();
session_register($codeName);
$_SESSION[$codeName]=$code;
image($code);
}

setCodeSessionName();
?>

需下载一些文字
//所用字体
$fontFileArray[0]='..\font\b.ttf';
$fontFileArray[1]='..\font\b.ttf';
$fontFileArray[2]='..\font\c.ttf';
$fontFileArray[3]='..\font\d.ttf';
$fontFileArray[4]='..\font\e.ttf';
$fontFileArray[5]='..\font\g.ttf';

引用代码方式


提问者:Kivigo   08-22 12:12
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
99 + 95 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM