用于防止网站自动注册的确认码生成。
函数参数是
$code - 您要随机生成的代码
$location - 要生成的图像的相对位置
$fonts_dir - GDF 字体目录的相对位置
此函数将创建一个包含您提供的代码的图像,并将其保存到指定的目录中,文件名由代码的 MD5 哈希值组成。
您可以在字体目录中插入任意数量的字体类型,并使用随机名称。
<?php
function generate_image($code, $location, $fonts_dir)
{
$image = imagecreate(150, 60);
imagecolorallocate($image, rand(0, 100), rand(100, 150), rand(150, 250));
$fonts = scandir($fonts_dir);
$max = count($fonts) - 2;
$width = 10;
for ($i = 0; $i <= strlen($code); $i++)
{
$textcolor = imagecolorallocate($image, 255, 255, 255);
$rand = rand(2, $max);
$font = imageloadfont($fonts_dir."/".$fonts[$rand]);
$fh = imagefontheight($font);
$fw = imagefontwidth($font);
imagechar($image, $font, $width, rand(10, 50 - $fh), $code[$i], $textcolor);
$width = $width + $fw;
}
imagejpeg($image, $location."/".md5($code).".jpg", 100);
imagedestroy($image);
return $code;
}
?>