• 创建一个验证码


    <?php 
    session_start();
    
    //随机码的个数
    $_rnd_code = 4;
    
    //创建随机码
    for ($i=0;$i<$_rnd_code;$i++) {
        $_nmsg .= dechex(mt_rand(0,15));
    }
    
    //保存在session
    $_SESSION['code'] = $_nmsg;
    
    
    //长和高
    $_width = 75;
    $_height = 25;
    
    //创建一张图像
    $_img = imagecreatetruecolor($_width,$_height);
    
    //白色
    $_white = imagecolorallocate($_img,255,255,255);
    
    //填充
    imagefill($_img,0,0,$_white);
    
    $_flag = false;
    
    if ($_flag) {
        //黑色,边框
        $_black = imagecolorallocate($_img,0,0,0);
        imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
    }
    
    //随即画出6个线条
    for ($i=0;$i<6;$i++) {
        $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
        imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
    }
    
    //随即雪花
    for ($i=0;$i<100;$i++) {
        $_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
        imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);
    }
    
    //输出验证码
    for ($i=0;$i<strlen($_SESSION['code']);$i++) {
        $_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
        imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color);
    }
    
    //输出图像
    ob_clean();//此方法是与header 配合使用,如果没有这一句会报错,
    header('Content-Type: image/png');
    imagepng($_img);
    
    //销毁
    imagedestroy($_img);
                               // 销毁图像
    
    
        
    ?> 
    View Code

    //输出图像
    ob_clean();//此方法是与header 配合使用,如果没有这一句会报错,
    header('Content-Type: image/png');

  • 相关阅读:
    SQL优化索引
    如何减轻工作压力(一)
    奥巴马对美国影响最大的十句话
    10种职场潜规则
    Linux中的7件武器详解
    linux时间同步,ntpd、ntpdate
    Style中Position属性详解
    vsftp配置大全超完整版
    Linux 技巧:使用 screen 管理你的远程会话
    MySQL下mysql.sock丢失问题的解决
  • 原文地址:https://www.cnblogs.com/yjhua/p/4673079.html
Copyright © 2020-2023  润新知