首页 > 软件开发 > PHP >

PHP生成验证码:[5]php验证码

来源:互联网 2023-03-16 19:20:36 146

php生成验证码,php验证码,php怎样生成验证码?XLr办公区 - 实用经验教程分享!

工具/原料

  • 这个验证码较实用,大家可以应用到项目中。

方法/步骤

  • 1

    1. 代码:XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    ?phpXLr办公区 - 实用经验教程分享!

    /*设置文件头为图片输出*/XLr办公区 - 实用经验教程分享!

    Header("Content-type: image/JPEG");XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /*调用生成验证码函数*/XLr办公区 - 实用经验教程分享!

    $checkcode = make_rand(4);XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /**XLr办公区 - 实用经验教程分享!

    * 生成验证码字符XLr办公区 - 实用经验教程分享!

    * @param int $length 验证码字符长度XLr办公区 - 实用经验教程分享!

    * @return stringXLr办公区 - 实用经验教程分享!

    */XLr办公区 - 实用经验教程分享!

    function make_rand($length="32"){XLr办公区 - 实用经验教程分享!

    $str="ABCDEFGHIJKLMNOPQRSTUVWXYZ";XLr办公区 - 实用经验教程分享!

    $result="";XLr办公区 - 实用经验教程分享!

    for($i=0;$i$length;$i ){XLr办公区 - 实用经验教程分享!

    $num[$i]=rand(0,25);XLr办公区 - 实用经验教程分享!

    $result.=$str[$num[$i]];XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    return $result;XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

  • 1该信息未经许可获取自百度经验
  • 2

    2. 代码:XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /*调用输出验证码图片函数*/XLr办公区 - 实用经验教程分享!

    getAuthImage($checkcode, 160, 40);XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /**XLr办公区 - 实用经验教程分享!

    * 生成验证码图片XLr办公区 - 实用经验教程分享!

    * @param string $text 验证码字符XLr办公区 - 实用经验教程分享!

    */XLr办公区 - 实用经验教程分享!

    function getAuthImage($text, $w, $y) {XLr办公区 - 实用经验教程分享!

    /*设置图片的宽度和高度*/XLr办公区 - 实用经验教程分享!

    $im_x = $w;XLr办公区 - 实用经验教程分享!

    $im_y = $y;XLr办公区 - 实用经验教程分享!

    /*创建图片*/XLr办公区 - 实用经验教程分享!

    $im = imagecreatetruecolor($im_x,$im_y);XLr办公区 - 实用经验教程分享!

    $text_c = ImageColorAllocate($im, mt_rand(0,100),mt_rand(0,100),mt_rand(0,100));XLr办公区 - 实用经验教程分享!

    $tmpC0=mt_rand(100,255);XLr办公区 - 实用经验教程分享!

    $tmpC1=mt_rand(100,255);XLr办公区 - 实用经验教程分享!

    $tmpC2=mt_rand(100,255);XLr办公区 - 实用经验教程分享!

    $buttum_c = ImageColorAllocate($im,$tmpC0,$tmpC1,$tmpC2);XLr办公区 - 实用经验教程分享!

    imagefill($im, 16, 13, $buttum_c);XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

  • 3

    3. 代码:XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /*字体文件*/XLr办公区 - 实用经验教程分享!

    $font = 't1.ttf';XLr办公区 - 实用经验教程分享!

    for ($i=0;$istrlen($text);$i )XLr办公区 - 实用经验教程分享!

    {XLr办公区 - 实用经验教程分享!

    $tmp =substr($text,$i,1);XLr办公区 - 实用经验教程分享!

    $array = array(-1,1);XLr办公区 - 实用经验教程分享!

    $p = array_rand($array);XLr办公区 - 实用经验教程分享!

    $an = $array[$p]*mt_rand(1,10);//角度XLr办公区 - 实用经验教程分享!

    $size = 28;XLr办公区 - 实用经验教程分享!

    imagettftext($im, $size, $an, 15 $i*$size, 35, $text_c, $font, $tmp);XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /*将字符写入文件中*/XLr办公区 - 实用经验教程分享!

    $distortion_im = imagecreatetruecolor ($im_x, $im_y);XLr办公区 - 实用经验教程分享!

    imagefill($distortion_im, 16, 13, $buttum_c);XLr办公区 - 实用经验教程分享!

    for ( $i=0; $i$im_x; $i ) {XLr办公区 - 实用经验教程分享!

    for ( $j=0; $j$im_y; $j ) {XLr办公区 - 实用经验教程分享!

    $rgb = imagecolorat($im, $i , $j);XLr办公区 - 实用经验教程分享!

    if( (int)($i 20 sin($j/$im_y*2*M_PI)*10) = imagesx($distortion_im)&& (int)($i 20 sin($j/$im_y*2*M_PI)*10) >=0 ) {XLr办公区 - 实用经验教程分享!

    imagesetpixel ($distortion_im, (int)($i 10 sin($j/$im_y*2*M_PI-M_PI*0.1)*4) , $j , $rgb);XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

  • 4

    4. 代码:XLr办公区 - 实用经验教程分享!

    /*干扰元素点的数量*/XLr办公区 - 实用经验教程分享!

    $count = 160;XLr办公区 - 实用经验教程分享!

    /*创建干扰元素点*/XLr办公区 - 实用经验教程分享!

    for($i=0; $i$count; $i ){XLr办公区 - 实用经验教程分享!

    $randcolor = ImageColorallocate($distortion_im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));XLr办公区 - 实用经验教程分享!

    imagesetpixel($distortion_im, mt_rand()%$im_x , mt_rand()%$im_y , $randcolor);XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    /*创建干扰线条*/XLr办公区 - 实用经验教程分享!

    $rand = mt_rand(5,30);XLr办公区 - 实用经验教程分享!

    $rand1 = mt_rand(15,25);XLr办公区 - 实用经验教程分享!

    $rand2 = mt_rand(5,10);XLr办公区 - 实用经验教程分享!

    for ($yy=$rand; $yy= $rand 2; $yy ){XLr办公区 - 实用经验教程分享!

    for ($px=-80;$px=80;$px=$px 0.1)XLr办公区 - 实用经验教程分享!

    {XLr办公区 - 实用经验教程分享!

    $x=$px/$rand1;XLr办公区 - 实用经验教程分享!

    if ($x!=0)XLr办公区 - 实用经验教程分享!

    {XLr办公区 - 实用经验教程分享!

    $y=sin($x);XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    $py=$y*$rand2;XLr办公区 - 实用经验教程分享!

    imagesetpixel($distortion_im, $px 80, $py $yy, $text_c);XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

  • 5

    5. 代码:XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /*以PNG格式将图像输出到浏览器*/XLr办公区 - 实用经验教程分享!

    ImagePNG($distortion_im);XLr办公区 - 实用经验教程分享!

    XLr办公区 - 实用经验教程分享!

    /*销毁图像*/XLr办公区 - 实用经验教程分享!

    ImageDestroy($distortion_im);XLr办公区 - 实用经验教程分享!

    ImageDestroy($im);XLr办公区 - 实用经验教程分享!

    }XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

  • 6

    6.最终输入结果如图所示:XLr办公区 - 实用经验教程分享!

    ################################XLr办公区 - 实用经验教程分享!

    ## ##XLr办公区 - 实用经验教程分享!

    ## 纯属凑字 ##XLr办公区 - 实用经验教程分享!

    ## ##XLr办公区 - 实用经验教程分享!

    ################################XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

    PHP生成验证码:[5]php验证码XLr办公区 - 实用经验教程分享!

  • php计算验证码

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!XLr办公区 - 实用经验教程分享!


    标签: PHP

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码