$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




[PHP 语言] [分享]PHP 验证码可设置字体(大小),可换背景图片,可扭曲角度

//若以下代码有错或不足,请在评论中指出

$img=imagecreatetruecolor(70,25);
* O1 o; ?4 t7 I/ n) b2 I//创建画布* F; s9 W" J& P* c' E
$bgimg=imagecreatefromjpeg("backgroud/background".rand(1,8).'.jpg');
2 Q1 V% s9 N1 m7 n//生成背景图片. V4 w4 D. P4 e6 t1 u7 L' v
$bg_x=rand(0,130);& [0 _( R5 \5 L+ ~7 Y
//随机招贴画布起始X轴坐标4 d6 F9 I. E0 T9 o2 L; U% A5 y
$bg_y=rand(0,55);
; y' M* M+ t1 v2 u! D//随机招贴画布起始Y轴坐标1 |7 P8 g( v5 M1 o
imagecopy($img,$bgimg,0,0,$bg_x,$bg_y,$bg_x+70,$bg_y+25);
: v) x5 A! j0 N, ~//把背景图片$bging粘贴的画布上

//生成随机字符串+ E  |' I' }/ L( }: K
function creaStr($len){
8 }7 C" e7 ^# X1 h& I: ?+ C" l* {     $arr1=range(0,9);$ V/ n: R  p. g
     $arr2=range(a,z);
. `& ^- ~/ J/ @     $arr3=range(A,Z);
' {7 t7 J* Y8 Q     $arr=array_merge($arr1,$arr2,$arr3);! L1 A5 ~6 P% ^* z5 [
     str_shuffle($arr);$ L& x# |. i8 w, u) I' q
     $str="";4 Y9 a& W# V# {7 ~7 U. S. T
     for($i=0;$i<$len;$i++){( b1 o" C! u% ^1 D: c- M
            $str.=$arr[rand(0,61)];7 Q) t4 S2 D) q' G' o
     }4 s, O8 ~' i6 F8 h7 ^5 ~7 A! N# W
    return $str;
% \7 j! [) ]; z6 g) m4 j( `* g% `}

$font='Astarisborn.TTF'; //字体
5 E6 i2 d! y8 w: F; i7 Q( Q6 S$str=creaStr(4); //字符串
' t# [1 t( B# I; Afor($i=0,$j=5;$i<4;$i++){
- n1 }/ L0 z! P4 p1 e8 ~5 Q! G      $array = array(-1,1);
1 i+ n* N2 k' f0 ^      $p = array_rand($array);* D5 e& Q5 ]$ j- o) i3 r- o9 h' f
      $an = $array[$p]*mt_rand(1,10); //扭曲角度
* q; E4 U) r. x* B, p9 @! w      $size = 14;//字体大小
- @6 o" x+ ~4 K: l      imagettftext($img, $size, $an, $j,rand(13,20),imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100)), $font, $str[$i]);//生成验证字符窜+ t; \( r. K) I$ U/ b; \1 [
      $j+=15;' ^- p+ P% s8 g) \) G
}* j. |6 |  f# _& P
header('Content-type:image/png');
) u) N) D" |, z1 L( n8 C( zimagepng($img);
7 z: ?  L, h  A1 c: Vimagedestroy($img);


& Q8 ]% v  t, R- W: R( ]" C. j, x  ~7 V: G) ~7 k+ P! r
参考:* z; n. v* l, m2 ?0 V( M
http://blog.csdn.net/redhat_520/article/details/7652103http://blog.csdn.net/yanhui_wei/article/details/7985225% c4 `7 }" T! D) D1 m
http://www.t086.com/code/php/function.php-ImageTTFText.php- x/ ^- I' ?$ a- w
http://www.t086.com/code/php/group.php-20.php


返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全