zoukankan      html  css  js  c++  java
  • PHP实现验证码图片

    <?php

    header("Content-type: image/png");

    session_start();

     

    $authnum = '';

    $str = 'abcdefghigklmnopqrstuvwxyz1234567890';

    $strLength = strlen($str);

    for($i=0;$i<=4;$i++)

    {

        $num = rand(0, $strLength -1);

        $authnum .= $str[$num];

    }

        $_SESSION['authnum'] = $authnum;

        srand((double)microtime()*1000000);

        $im = imagecreate(200, 100);

       

        $gary = imagecolorallocate($im, 200, 200, 100);

        $white = imagecolorallocate($im, 255, 255, 255);

       

        imagefill($im, 10, 5, $gary);

        $li = imagecolorallocate($im, 150, 150, 150);

       

        for($i =0;$i<3;$i++)//绘制三条干扰线

        {

           imageline($im, rand(0, 20), rand(0, 100), rand(180, 200), rand(0, 100), $li);

           //起点的x尽量靠左边,y任意,终点尽量靠右边,y任意

        }

       

        for($i=0;$i<strlen($_SESSION['authnum']);$i++)//绘制四个字符

        {

           $strcolor= imagecolorallocate($im, mt_rand(0, 100), mt_rand(50, 150), mt_rand(100, 200));

           $fontsize = mt_rand(10, 20);

           $x = mt_rand(1,20)+200*$i/4;

           $y = mt_rand(1, 50);

           imagestring($im, $fontsize, $x, $y, $_SESSION['authnum'][$i], $strcolor);

        }

     

    imagepng($im);

    imagedestroy($im);

    ?>

    运行效果如图所示:

  • 相关阅读:
    将aspx页面编译成dll
    Jquery 验证数字
    c#反编译生成DLL过程
    c#进制转换
    Spring Mvc 实例
    wamp phpMyAdmin error #1045
    Tomcat相关知识点总结(jsp)
    Java ---学习笔记(泛型)
    Java IO ---学习笔记(文件操作与随机访问文件)
    Java IO ---学习笔记(字符流)
  • 原文地址:https://www.cnblogs.com/Jasxu/p/PHP_yanzhengtupian.html
Copyright © 2011-2022 走看看