zoukankan      html  css  js  c++  java
  • php生成验证码

    <?php
        check_code(100, 50, 5);
        function check_code($width = 100, $height = 50, $num = 4, $type = 'jpeg') {
            $img = imagecreate($width, $height);
            $string = '';
            for ($i = 0; $i < $num; $i++) {
                $rand = mt_rand(0, 2);
                
                switch($rand) {
                    case 0:
                        $ascii = mt_rand(48, 57);
                        break;
                    case 1:
                        $ascii = mt_rand(65, 90);
                        break;
                    case 2:
                        $ascii = mt_rand(97, 122);
                        break;
                }
                
                $string .= sprintf('%c', $ascii);
            }
            
            imagefilledrectangle($img, 0, 0, $width, $height, randBg($img));
            
            for ($i = 0; $i < 50; $i++) {
                imagesetpixel($img, mt_rand(0, $width), mt_rand(0, $height), randPix($img));
            }
            
            for ($i = 0; $i < $num; $i++) {
                $x = floor($width/$num) *$i + 2;
                $y = mt_rand(0, $height - 15);
                
                imagechar($img, 5, $x, $y, $string[$i], randPix($img));
            }
            
            $func = 'image' . $type;
            
            $header = 'content-type:image/' . $type;
            
            if (function_exists($func)) {
                header($header);
                $func($img);
            } else {
                exit('不支持');
            }
            
            imagedestroy($img);
            return $string;
        }
        
        function randBg($img) {
            return imagecolorallocate($img, mt_rand(130, 255), mt_rand(130, 255), mt_rand(130, 255));
        }
        
        function randPix($img) {
            return imagecolorallocate($img, mt_rand(0, 120), mt_rand(0, 120), mt_rand(0, 120));
        }
    ?>
  • 相关阅读:
    exchange 2010 数据库管理
    windows Sql server performance monitor
    windows powershell
    开始Dev之路
    配置adb环境
    android当中安装androidstudio时问题
    进阶之旅(一)
    ubuntu 下配置Android环境
    Android开发中的设计模式
    android anr之后如何导出traces.txt
  • 原文地址:https://www.cnblogs.com/qiuxd/p/13376475.html
Copyright © 2011-2022 走看看