Heim  >  Artikel  >  php教程  >  漂亮的验证码

漂亮的验证码

WBOY
WBOYOriginal
2016-06-07 11:44:061261Durchsuche

分享一款漂亮的验证码。
此代码来源于网络,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元

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn