zoukankan      html  css  js  c++  java
  • 简单漂亮的php验证码函数

    /* 
         *说明:函数功能是生成验证码
         * 参数说明:输入 长度,宽度,高度
         */
        function vcode($_code_length = 4, $_width = 75, $_height = 25){
            
            $_font=dirname(__FILE__).'/font/Elephant.ttf';//注意字体路径要写对,否则显示不了图片
            
            $_fontsize=$_height/1.8;
            $_nmsg="";
            for($i=0;$i<$_code_length;$i++){
                $_nmsg .= dechex(mt_rand(0,15));
            }
            if(!isset($_SESSION)){
                session_start();
            }
            
            $_SESSION["vcode"] = $_nmsg;
    
            $_img = imagecreatetruecolor($_width, $_height);
    
            $_white = imagecolorallocate($_img, 250, 250, 250);
    
            imagefill($_img, 0, 0, $_white);
    
            $_gray = imagecolorallocate($_img, 196, 196, 196);
    
            imagerectangle($_img, 0, 0, $_width-1, $_height-1, $_gray);
    
            for ($i=0; $i < 6; $i++) { 
                $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
                imageline($_img, mt_rand(0,$_width), mt_rand(0, $_height),mt_rand(0,$_width), mt_rand(0, $_height), $_md_color);
            }
    
            for ($i=0; $i < 50; $i++) { 
                $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
                imagestring($_img, 1, mt_rand(1,$_width-5), mt_rand(1, $_height-5), "*", $_md_color);
            }
    
            for ($i=0; $i < $_code_length ; $i++) { 
                $_md_color = imagecolorallocate($_img, mt_rand(0,102), mt_rand(0,102), mt_rand(0,102));
                //imagestring($_img, 5, $i * $_width/$_code_length+ mt_rand(1, 10), mt_rand(1, $_height/2), $_SESSION["vcode"][$i], $_md_color);
                imagettftext($_img,$_fontsize,mt_rand(-20,20),$_fontsize*$i+mt_rand(1,5),$_height / 1.4,$_md_color,$_font,$_SESSION["vcode"][$i]);
            }
    
            header("Content-Type:image/png");
    
            imagepng($_img);
    
            imagedestroy($_img);
        }

    需要一个字体文件 可以百度下载一个

  • 相关阅读:
    jquery 拼图小游戏
    重要参考SQL
    SQL Server save transaction
    SelectList类的构造函数
    一步步教你整合SSM框架(Spring MVC+Spring+MyBatis)详细教程重要
    springMVC,spring和Hibernate整合(重要)
    delphi环境变量
    C# Chart 点击获取当前点击坐标和Series
    如何修改 app.config 的配置信息
    C#中使用设置(Settings.settings) Properties.Settings.Default .(配置文件相当重要)
  • 原文地址:https://www.cnblogs.com/wordblog/p/7352239.html
Copyright © 2011-2022 走看看