国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php如何實現隨機數字和字母驗證碼的代碼

2020-03-22 20:30:21
字體:
來源:轉載
供稿:網友
php實現隨機數字、字母的驗證碼

可自定義生成驗證碼文字的大小、數量、干擾項等等,也可以自定義驗證文字的字體。。。

廢話不多說,直接上代碼:

 ?phpClass Captcha{ private $_fontfile=  private $_size=36; private $_width=200; private $_height=100; private $_length=4; private $_image=null; private $_snow=0; private $_pixel=0; private $_line=0; html' target='_blank'>public function __construct($config=array()){ if(is_array($config) count($config) 0){ if(isset($config[ fontfile ]) is_file($config[ fontfile ]) is_readable($config[ fontfile ])){ $this- _fontfile=$config[ fontfile  }else{ return false; if(isset($config[ size ]) $config[ size ] 0){ $this- _size=(int)$config[ size  if(isset($config[ width ]) $config[ width ] 0){ $this- _width=(int)$config[ width  if(isset($config[ height ]) $config[ height ] 0){ $this- _height=(int)$config[ height  if(isset($config[ length ]) $config[ length ] 0){ $this- _length=(int)$config[ length  if(isset($config[ snow ]) $config[ snow ] 0){ $this- _snow=(int)$config[ snow  if(isset($config[ pixel ]) $config[ pixel ] 0){ $this- _pixel=(int)$config[ pixel  if(isset($config[ line ]) $config[ line ] 0){ $this- _line=(int)$config[ line  $this- _image=imagecreatetruecolor($this- _width,$this- _height); return $this- _image; else{ return false; public function getCaptcha(){ $white=imagecolorallocate($this- _image,255,255,255); imagefilledrectangle($this- _image,0,0,$this- _width,$this- _height,$white); $str=$this- _generateStr($this- _length); if(false===$str){ return false; $fontfile=$this- _fontfile; for($i=0;$i $this- _length;$i++){ $size=$this- _size; $angle=mt_rand(-30,30); $x=ceil($this- _width/$this- _length)*$i+mt_rand(5,10); $y=ceil($this- _height/1.5); $color=$this- _getRandColor(); //針對中文字符截取 //$text=mb_substr($str,$i,1, utf-8  $text=$str{$i}; imagettftext($this- _image, $size, $angle, $x, $y, $color, $fontfile, $text); if($this- _snow){ $this- _getSnow(); }else{ if($this- _pixel){ $this- _getPixel(); if($this- _line){ $this- _getLine(); header( content-type:image/png  imagepng($this- _image); imagedestroy($this- _image); return strtolower($str); private function _getSnow(){ for($i=1;$i =$this- _snow;$i++){ imagestring($this- _image,mt_rand(1,5),mt_rand(0,$this- _width),mt_rand(0,$this- _height), * ,$this- _getRandColor()); private function _getPixel(){ for($i=1;$i =$this- _pixel;$i++){ imagesetpixel($this- _image,mt_rand(0,$this- _width),mt_rand(0,$this- _height),$this- _getRandColor()); private function _getLine(){ for($i=1;$i =$this- _line;$i++){ imageline($this- _image,mt_rand(0,$this- _width),mt_rand(0,$this- _height),mt_rand(0,$this- _width),mt_rand(0,$this- _height),$this- _getRandColor()); private function _generateStr($length=4){ if($length 1 || $length 30){ return false; $chars=array( a , b , c , d , e , f , g , h , k , m , n , p , x , y , z , A , B , C , D , E , F , G , H , K , M , N , P , X , Y , Z , 1,2,3,4,5,6,7,8,9 $str=join( ,array_rand(array_flip($chars),$length)); return $str; private function _getRandColor(){ return imagecolorallocate($this- _image,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));? 

2、testCaptcha.php

 ?phprequire_once classgd.class.php $config=array( fontfile = fonts/simfang.ttf , //引入字體文件// snow = 50, pixel = 100, line = 10$captcha=new Captcha($config);$captcha- getCaptcha();? 

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

php如何重寫session的存儲機制

如何通過php來遍歷文件夾獲取圖片目錄名稱及文件名

以上就是php如何實現隨機數字和字母驗證碼的代碼的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永顺县| 壤塘县| 吴旗县| 广丰县| 涞水县| 彩票| 仪陇县| 新津县| 马山县| 栾川县| 巴青县| 交城县| 抚松县| 仁寿县| 永寿县| 恩平市| 沅陵县| 老河口市| 长垣县| 通州市| 杭锦后旗| 紫云| 丁青县| 右玉县| 江口县| 逊克县| 都匀市| 太仆寺旗| 临邑县| 甘肃省| 元阳县| 务川| 北川| 富阳市| 临朐县| 辽源市| 阿拉尔市| 巴东县| 庄浪县| 颍上县| 柳江县|