PHP开发验证码教程之实现数字...LOGIN

PHP开发验证码教程之实现数字验证码

实现数字验证码

<?php
$image = imagecreatetruecolor(100,30);
$bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF
imagefill($image,0,0,$bgcolor);
for ($i=0;$i<4;$i++){
    $fontsize = 6;
    $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
    $fontcontent = rand(0,9);
    $x = ($i * 100/4)+rand(5,10);
    $y = rand(5,10);
    imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
header('content-type: image/png');
imagepng($image);
//销毁
imagedestroy($image);
?>

for ($i=0;$i<4;$i++){
//循环出四个数字
    $fontsize = 6;//字体的大小为6
    $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); 
//定义字体的颜色
    $fontcontent = rand(0,9);//定义字体的取值范围
}$x = ($i * 100/4)+rand(5,10);
$y = rand(5,10); 
在范围内随机定义坐标
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}

imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x,y 坐标处(这是字符串左上角坐标,整幅图像的左上角为 0,0)。如果font 是 1,2,3,4 或 5,则使用内置字体。

注意:控制好字体的大小和分布,避免字体的重叠和显示不全

下一节
<?php $image = imagecreatetruecolor(100,30); $bgcolor = imagecolorallocate($image,255,255,255);//#FFFFFFFFFFFF imagefill($image,0,0,$bgcolor); for ($i=0;$i<4;$i++){ $fontsize = 6; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $fontcontent = rand(0,9); $x = ($i * 100/4)+rand(5,10); $y = rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); } header('content-type: image/png'); imagepng($image); //销毁 imagedestroy($image); ?>
提交重置代码
章节课件