php生成简单的验证码代码

 PHP进阶  2019-06-30  admin  1491  2012

php生成简单的验证码代码

<?php
session_start();
//验证码高宽
$verify_width = 150;
$verify_height = 50;
$verify_length = 4;

//创建画布
$verify_img = imagecreatetruecolor($verify_width, $verify_height);

//生成随机背景颜色
$bg_color = imagecolorallocate($verify_img, rand(0, 255), rand(0, 255), rand(0, 255));

//填充背景色
imagefill($verify_img, 0, 0, $bg_color);

//绘制点
for ($i = 1; $i <= 20; $i++) {
    $color = imagecolorallocate($verify_img, rand(0, 255), rand(0, 255), rand(0, 255));
    imagesetpixel($verify_img, rand(0, $verify_width), rand(0, $verify_height), $color);
}
//绘制线
for ($i = 1; $i <= 5; $i++) {
    $color = imagecolorallocate($verify_img, rand(0, 255), rand(0, 255), rand(0, 255));
    imageline($verify_img, rand(0, $verify_width), rand(0, $verify_height), rand(0, $verify_width), rand(0, $verify_height), $color);
}
//绘制矩形
for ($i = 1; $i <= 3; $i++) {
    $color = imagecolorallocate($verify_img, rand(0, 255), rand(0, 255), rand(0, 255));
    imagerectangle($verify_img, rand(0, $verify_width), rand(0, $verify_height), rand(0, $verify_width), rand(0, $verify_height), $color);
}
//绘制椭圆
for ($i = 1; $i <= 3; $i++) {
    $color = imagecolorallocate($verify_img, rand(0, 255), rand(0, 255), rand(0, 255));
    imageellipse($verify_img, rand(0, $verify_width), rand(0, $verify_height), rand(0, $verify_width), rand(0, $verify_height), $color);
}

//生成随机字符串
$arr = range('a', 'z');
$str = implode('', $arr);
$str2 = '1234567890' . $str . strtoupper($str);
$str2 = str_shuffle($str2);
$rand_str = substr($str2, 5, $verify_length);

//存储验证码
$_SESSION['verify']['code'] = md5($rand_str);
$_SESSION['verify']['time'] = time();

//在图片中写入文字
$color = imagecolorallocate($verify_img, rand(0, 255), rand(0, 255), rand(0, 255));
//imagestring($verify_img,100,0,0,$rand_str,$color);

//验证码字体设置
$font_x = 10;
$font_y = 45;
$font_file = "font/msyh.ttc";
imagefttext($verify_img, 40, 0, $font_x, $font_y, $color, $font_file, $rand_str);

//生成图片
header("Content-type:image/png");
imagepng($verify_img);


使用方法:

<div>
    <img src="verifyCode.php" width="40" >
</div>


Snipaste_2019-06-30_22-09-18.png

如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

php生成简单的验证码代码 —— code.cent123.com

相关推荐


图片批量转换格式扩展名命工具

图片批量转换格式扩展名命工具图片批量转换格式扩展名命令行工具支持多线程设置,速度极快imageConverterGui.7z

图片批量转换格式扩展名命令行工具

图片批量转换格式扩展名命令行工具支持多线程设置,速度极快imageConverter.7z

php 正则获取字符串中所有图片链接地址并下载图片

php 正则获取字符串中所有图片链接地址并下载图片/** *获取图片的绝对地址 *@paramstring$content *@returnmixed *@Author:code.cent123.com */ functiongetImageUrl(string$content=&quot;&quot;) { //$pattern=&quot;/src=[\&quot;\&#39;

PHP常用正则表达式汇总

PHP常用正则表达式汇总&quot;^\d+$&quot;  //非负整数(正整数+0) &quot;^[0-9]*[1-9][0-9]*$&quot;  //正整数 &quot;^((-\d+)|(0+))$&quot;  //非正整数(负整数+0) &quot;^-[0-9]*[1-9][0-9]*$&quot;  //负整数 &quot;^-?\d+$&quot;    //整数