Maison >développement back-end >tutoriel php >php?生成验证码
哪位大哥分享下代码
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);