亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP實(shí)現(xiàn)變色驗(yàn)證碼的方法

來源:不言 發(fā)布時(shí)間:2018-12-05 15:51:48 閱讀量:916

這篇文章主要介紹了關(guān)于PHP實(shí)現(xiàn)變色驗(yàn)證碼的方法,有著一定的參考價(jià)值,現(xiàn)在分享給大家,有需要的朋友可以參考一下

驗(yàn)證碼想必大家都有見到過吧,在本文為大家介紹下PHP如何實(shí)現(xiàn)變色驗(yàn)證碼,感興趣的朋友可以參考下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

<?php

header("Content-type: image/png,charset='utf-8'");

$im = imagecreatetruecolor(400, 30);

//白色

$white = imagecolorallocate($im, 255, 255, 255);

//紅色

$red = imagecolorallocate($im, 255, 0, 0);

//黑色

$black=imagecolorallocate($im, 0, 0, 0);

//綠色

$green=imagecolorallocate($im, 0, 255, 0);

//藍(lán)色

$blue=imagecolorallocate($im, 0, 0, 255);

$color_arr=array($green,$blue,$red);

$color=array_rand($color_arr);

$text = '我靠這驗(yàn)證碼太變態(tài)啦';

$textlen=iconv_strlen($text,'utf-8');//計(jì)算字符串長(zhǎng)度

//隨機(jī)截取兩個(gè)字符,變色顯示

$p1=rand(1,$textlen)-1;

while(($p2=rand(1,$textlen)-1)==$p1);

$w1=iconv_substr($text,$p1,1,'utf-8');

$w2=iconv_substr($text,$p1,1,'utf-8');

//字體文件 (PS:T不錯(cuò)的php Q扣峮:276167802,驗(yàn)證:csl)

$font = 'simkai.ttf';

imagefilledrectangle($im, 0, 0, 399, 29, $white);

for($i=0;$i<$textlen;$i++)

{

if($i==$p1||$i==$p2)

{

imagettftext($im, 15, 0, 20*($i-1)+20, 20, $color_arr[$color], $font, iconv_substr($text,$i,1,'utf-8'));

}

else

{

imagettftext($im, 15, 0, 20*($i-1)+20, 20, $black, $font, iconv_substr($text,$i,1,'utf-8'));

}

}

imagepng($im);

imagedestroy($im);

?>

驗(yàn)證碼中的字符并不是同一種顏色,讓用戶輸入指定顏色的驗(yàn)證碼,這樣安全性會(huì)更好的。


標(biāo)簽: PHP
分享:
評(píng)論:
你還沒有登錄,請(qǐng)先