Home  >  Article  >  类库下载  >  PHP: Use the gd library to generate images and implement random verification codes

PHP: Use the gd library to generate images and implement random verification codes

高洛峰
高洛峰Original
2016-10-10 10:23:161207browse

Note: I have commented some basic codes. The number of verification code digits and the required strings implemented here can be set again. With my annotations, it should be easy for everyone to understand.

Basic idea:

1. Use mt_rand() to randomly generate numbers to determine the string to be obtained, and splice the strings (I think the generated verification code is a bit too crowded, you can splice a space bar in the middle of the string) , to implement random verification code;

Note: It is recommended that you use mt_rand() instead of rand(), the former is more efficient

2. Use the gd library to generate pictures and write random strings to the picture output.

Effect:

PHP: Use the gd library to generate images and implement random verification codesPHP: Use the gd library to generate images and implement random verification codesPHP: Use the gd library to generate images and implement random verification codes

Every time it is refreshed, a random verification is generated. Later I may add how to implement the random code and click on the picture to update again

Code:

<?php
// 创建画布
$width = 120;   // 规定画布的宽高
$height = 45;
$image = imagecreatetruecolor($width, $height);  // 创建一幅真彩色图像
// 添加一些即将用到的颜色
$white = imagecolorallocate($image, 0xf2, 0xec, 0xe0);
$orange = imagecolorallocate($image, 0xff, 0xa5, 0x4c);
// 对画布背景填充颜色
imagefill($image, 0, 0, $white);

//mt_rand  获取随机数 mt_rand(min, max);
    function  str_rand(){
        $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ";
        $rand="";
        for($i=0; $i<5; $i++){//获取5个随机的字符串
            $rand .= $str[mt_rand(0, strlen($str)-1)];  //如:随机数为30  则:$str[30]
        }
        return $rand;
    }
$verifyCode=str_rand();
// 画一串字符串在画布上
imagestring($image, 10, 10, 10, "$verifyCode", $orange);
// 通知浏览器输出的是图像(png类型)
header(&#39;Content-Type: image/png&#39;);
// 输出到浏览器
imagepng($image);
// 释放图像资源


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Related articles

See more