<?php //生成随机的字符串 function get_str($len = 4) { $char = "1234567890abcdefghijklmnoqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWSYZ"; $str = str_shuffle($char); //将字符串打乱 $str = substr($str, 0, $len); //截取四位字符串 return $str; } //验证码函数 function img_code($width = 76, $height = 30)//1.定义验证码宽高默认值 { //2.创建 $img = imagecreatetruecolor($width, $height); //3.验证码添加背景颜色和文字颜色---imagecolorallcoate() $bgcolor = imagecolorallocate($img, 200, 200, 200); $textcolor = imagecolorallocate($img, 255, 0, 0); //4.指定图片上画矩形---imagefilledrectangle() imagefilledrectangle($img, 0, 0, $width, $height, $bgcolor); //5.将文字放入图片 $code = get_str(); imagestring($img, 5, 20, 5, $code, $textcolor); //6.图片上面加一些点 for ($i = 0; $i < 30; $i++) { $dotcolor = imagecolorallocate($img, mt_rand(0, 155), mt_rand(0, 155), mt_rand(0, 155)); imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height), $dotcolor); } //7.画线 for ($i = 0; $i < 2; $i++) { $linecolor = imagecolorallocate($img, mt_rand(0, 155), mt_rand(0, 155), mt_rand(0, 155)); imageline($img, mt_rand(0, $width), mt_rand(0, $height), mt_rand(0, $width), mt_rand(0, $height), $linecolor); } //将验证码存入session session_start(); $_SESSION['imgcode'] = strtolower($code); //输出图像 header('Content-Type:image/jpeg'); imagejpeg($img); //销毁图像,释放内存 imagedestroy($img); } //调用验证码函数查看验证码 img_code();