分享一款漂亮的验证码。
此代码来源于网络,haran只是进行了简单的改写与整合。
效果
1、
2、
3、
4、
整合步骤
一、在你的项目/Lib中建立ORG目录,将TP框架/Extend/Library/ORG/Util/Image.class.php复制到刚刚建立的目录中。
二、打开刚刚复制过来的Image.class.php,将其中的buildImageVerify方法替换为以下代码 /**<br>
+----------------------------------------------------------<br>
* 生成图像验证码<br>
+----------------------------------------------------------<br>
* @static<br>
* @access public<br>
+----------------------------------------------------------<br>
* @param string $length 位数<br>
* @param string $mode 类型<br>
* @param string $type 图像格式<br>
* @param string $width 宽度<br>
* @param string $height 高度<br>
* @param string $size 字体大小<br>
+----------------------------------------------------------<br>
* @return string<br>
+----------------------------------------------------------<br>
*/<br>
static function buildImageVerify( $length=5, $mode='', $type='png', $width=300, $height=100, $size=40, $verifyName='verify') {<br>
<br>
import('ORG.Util.String');<br>
$fontPath = "./Public/elephant.ttf";<br>
$randval = String::randString($length, $mode);<br>
session($verifyName, md5($randval));<br>
<br>
$width = ($length * 10 + 10) > $width ? $length * 10 + 10 : $width;<br>
<br>
if ($type != 'gif' && function_exists('imagecreatetruecolor')) {<br>
$im = @imagecreatetruecolor($width, $height);<br>
} else {<br>
$im = @imagecreate($width, $height);<br>
}<br>
<br>
$r = Array(225, 255, 255, 223);<br>
$g = Array(225, 236, 237, 255);<br>
$b = Array(225, 236, 166, 125);<br>
$key = mt_rand(0, 3);<br>
<br>
$backColor = imagecolorallocate($im, $r[$key], $g[$key], $b[$key]); //背景色(随机)<br>
$borderColor = imagecolorallocate($im, 100, 100, 100); //边框色<br>
$pointColor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)); //点颜色<br>
<br>
imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor);<br>
<br>
@imagerectangle($im, 0, 0, $width - 1, $height - 1, $borderColor);<br>
$stringColor = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120));<br>
// 干扰<br>
for ($i = 0; $i
$fontcolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));<br>
imagearc($im, mt_rand(-10, $width), mt_rand(-10, $height), mt_rand(30, 300), mt_rand(20, 200), 55, 44, $fontcolor);<br>
}<br>
for ($i = 0; $i
$fontcolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));<br>
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pointColor);<br>
}<br>
<br>
$x = $width/$length;<br>
for ($i = 0; $i
//imagestring($im, 5, $i * 10 + 5, mt_rand(1, 8), $randval{$i}, $stringColor);<br>
imagettftext($im, $size, rand(-30,30) ,$x*$i+5, $height/1.4, $stringColor, $fontPath,$randval{$i});<br>
}<br>
<br>
// @imagestring($im, 5, 5, 3, $randval, $stringColor);<br>
Image::output($im, $type);<br>
}
三、下载elephant.ttf放置于项目目录/Public文件夹中
http://pan.baidu.com/share/link?uk=554464104&shareid=1278879446
四、建立生成验证的方法并调用<?php <br />
<br>
Class PublicAction extends Action {<br>
<br>
Public function verify () {<br>
import('@.ORG.Image');<br>
Image::buildImageVerify();<br>
}<br>
}
-------------------------------------以下为懒人包-----------------------------------------------------------
将附件解压到和TP框架同级的目录中
haran.rar
( 42.59 KB 下载:457 次 )
AD:真正免费,域名+虚机+企业邮箱=0元

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境