最新消息:

傻瓜式PHP验证码快速生成

PHP miaoshoukongkong 128浏览 0评论

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

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

傻瓜式PHP验证码快速生成

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

准备画布

准备涂料

在画布上画图或填充文字

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

释放画布资源

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

傻瓜式PHP验证码快速生成

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

imagecreatetruecolor(); //创建画布

imagecolorallocate(); //生成涂料

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

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

imageline(); //画一条线段

imagettftext(); //输入文字

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

imagepng/imagejpeg/imagegif //输出图片

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

神功已成!!!!!

傻瓜式PHP验证码快速生成

代码示例:

<?php

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);

?>

转载请注明:PHP学习 » 傻瓜式PHP验证码快速生成

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址