这个是我自己写的。可以参考下。。
<?php
session_start();
$_SESSION['verify']=yzm();
function yzm($width=100,$height=50,$length=4,$type=3,$imageType='jpeg'){
switch($type){
case 1:
$str=join('',array_rand(range(0,9),4));
break;
case 2:
$str=implode('',array_rand(array_flip(range('a','z')),4));
break;
case 3:
for($i=0;$i<$length;$i++){
$string='abcdefghijkmnpqrstuvwxyABCDEFGHJKLMNPQRSTUVWXY23456789';
$string=str_shuffle($string);
$str.=substr($string,0,1);
}
break;
}
$img=imagecreate($width,$height);
imagefilledrectangle($img,0,0,$width,$height,lightColor($img));
for($i=0;$i<50;$i++){
imagesetpixel($img,mt_rand(1,$width),mt_rand(1,$height),darkColor($img));
}
for($i=0;$i<5;$i++){
imagearc($img,mt_rand(20,$width),mt_rand(20,$height),mt_rand(20,80),mt_rand(20,80),mt_rand(0,90),mt_rand(180,360),lightcolor($img));
}
for($i=0;$i<$length;$i++){
$x=ceil($width/$length)*$i;
$y=mt_rand(0,$height-20);
imagechar($img,5,$x,$y,$str[$i],darkColor($img));
}
$headerStr='Content-type:image/'.$imageType;
$func='image'.$imageType;
if(function_exists($func)){
header($headerStr);
$func($img);
}else{
exit('当前服务器不支持该类型图片');
}
imagedestroy($img);
return $str;
}
function lightColor($img){
return imagecolorallocate($img,mt_rand(130,255),mt_rand(130,255),mt_rand(130,255));
}
function darkColor($img){
return imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125));
}
?>