傻瓜式PHP验证码快速生成

2022-10-11 21:50:55 145 0
魁首哥

在PHP中,有些处理图像的函数时可以直接使用的,但是绝大多数图像处理相关的函数还是需要在安装GD库之后才能使用,GD库是PHP处理图像的扩展库,它提供了一系列用来处理图像的API。在Windows系统下,GD库已经默认安装好了,需要在php. ini 中开启,将配置文件中extension=php_gd2.dll选项中前面的分号去掉,保存修改后的文件,重启 Apache 服务即可启动GD函数库。

在基本的环境准备好之后我们就可以愉快的开始进行图片处理。

骚年只要记住一下几个招式!

  1. 准备画布

  2. 准备涂料

  3. 在画布上画图或填充文字

  4. 输出最终图像或保存最终图像

  5. 释放画布资源

这就是心法口诀!!!!!

那么制作一个简易的验证码的套路就是!!

  1. imagecreatetruecolor(); //创建画布

  2. imagecolorallocate(); //生成涂料

  3. imagesetpixel(); //可用于绘制模糊点

    imagestring(); //水平的画出字符串

    imageline(); //画一条线段

    imagettftext(); //输入文字

  4. header (); //告知浏览器生成的图片格式

    imagepng/imagejpeg/imagegif //输出图片

  5. imagedestroy(); //销毁图片资源

神功已成!!!!!

代码示例:

function getStr($len){

$str = ‘abcdefghijklmnopqrstuvwxyz1234567890’;

$ length = strlen($str)-1;

$s = ”;

for($i=0;$i<$len;$i++){

$s .= $str{mt_rand(0,$length)};

}

return $s;

}

$str = getStr(4);

session_start();

$_SESSION[‘code’] = $str;

$img = imagecreatetruecolor(100,40);

$code = imagecolorallocate($img,255,215,255);

$pix = imagecolorallocate($img,108,208,203);

$font = imagecolorallocate($img,0,0,0);

$line = imagecolorallocate($img,86,53,217);

imagefill($img,0,0,$code);

for($i=0;$i<500;$i++){

imagesetpixel($img,mt_rand(0,100),mt_rand(0,40),$pix);

}

$fontPath = ‘C:\Windows\Fonts\andlso.ttf’;

imagettftext($img,30,0,10,30,$font,$fontPath,$str);

for($i=0;$i<5;$i++){

imageline($img,mt_rand(0,100),mt_rand(0,40),mt_rand(0,100),mt_rand(0,40),$line);

}

header(‘content-type:image/jpeg’);

imagejpeg($img);

imagedestroy($img);

?>

收藏
分享
海报
0 条评论
145
上一篇:必知的php数组函数 下一篇:高级PHP应用程序漏洞审核技术

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码