php验证码案例

<?php
    header('Content-type:image/jpeg');
    $img=imagecreatetruecolor(120,40);
    // 背景颜色
    $bg_color=imagecolorallocate($img,200,222,210);
    imagefill($img,0,0,$bg_color);
    // 像素颜色
    $px_color=imagecolorallocate($img,100,100,100);
    // 验证码字体颜色
    $font_color=imagecolorallocate($img,255,0,0);
    // 在图像上画100个点
    for($i=0;$i<100;$i++){
        imagesetpixel($img,rand(0,120),rand(0,40-1),$px_color);
    }

    // 在图像上写验证码imagestring()不能载入字体所以用imagettftext
    // 产生随机的字符  使用chr 把ascll转换成字符或者ord()把字符串转换为ascll码
    // $ascll_string=rand(97,122);
    // $string=chr($ascll_string);
    // 或者可以使用数组
    $string='';
    $arr=array('a','b','c','d','e','f','g','h','i','g','k','l','m','n','o');
    for($i=0;$i<4;$i++){

        $string.=$arr[rand(0,count($arr)-1)];
    }

    imagettftext($img,30,5,10,30,$font_color,'fonts/BuxtonSketch.ttf',$string);





    imagejpeg($img);


?>