回复讨论(解决方案) session_start();$dict = str_split('abcdefghijklmnopqrstuv0123456789');shuffle($dict);$_session['word'] = join('', array_slice($dict, -4));$im = imagecreate(100, 30);$bg = imagecolorallocate($im, 255, 255, 255);$char = imagecolorallocate($im, 0, 0, 0);imagestring($im, 5, 10, 10, $_session['word'], $char);imagegif($im);
你想要什么样的验证码?
你看看这里吧,可能会对你有所帮助
http://blog.csdn.net/whq19890827/article/details/41778961
session_start(); $checkcode=; for($i=0;$i<4;$i++){ $checkcode .=substr('abcdefghijklmnopqrstuvwxyz0123456789', rand(0,35), 1); // $checkcode.=dechex(rand(1,15)); } //讲随机验证码保存到session中 $_session['mycheckcode']=$checkcode; //创建图片,并把随机数画上去 $img=imagecreatetruecolor(100,30); //背景默认就是黑色 //你可以指定背景颜色 $bgcolor=imagecolorallocate($img,0,0,0); imagefill($img,0,0,$bgcolor); //创建新的颜色 $white=imagecolorallocate($img,255,255,255); $blue=imagecolorallocate($img,0,0,255); $red=imagecolorallocate($img,255,0,0); $green=imagecolorallocate($img,255,0,0); //画出干扰线段 for($i=0;$i<20;$i++){ //更好的方法是颜色随机 imageline($img,rand(0,110),rand(0,30),rand(0,110),rand(0,30),imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255))); } //画出噪点,自己画. //把四个随机值画上去 imagestring($img,rand(1,5),rand(2,80),rand(2,10),$checkcode,$white); //如果要使用中文 //array imagefttext ( string $font_file , string $text [, array $extrainfo ] ) //imagettftext($img,15,10,20,25,$white,stxinwei.ttf,北京你好); //输出 header(content-type: image/png); imagepng($img);
