程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實現變色驗證碼實例

PHP實現變色驗證碼實例

編輯:關於PHP編程

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

    代碼如下: <?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);  //藍色  $blue=imagecolorallocate($im, 0, 0, 255);  $color_arr=array($green,$blue,$red);  $color=array_rand($color_arr);  $text = '我靠這驗證碼太變態啦';  $textlen=iconv_strlen($text,'utf-8');//計算字符串長度  //隨機截取兩個字符,變色顯示  $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不錯的php Q扣峮:276167802,驗證: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);  ?>    驗證碼中的字符並不是同一種顏色,讓用戶輸入指定顏色的驗證碼,這樣安全性會更好的。   
    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved