91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在PHP中使用GD2函數庫實現一個驗證碼功能

發布時間:2021-02-05 16:30:47 來源:億速云 閱讀:242 作者:Leah 欄目:開發技術

本篇文章為大家展示了如何在PHP中使用GD2函數庫實現一個驗證碼功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在正式制作驗證碼之前要先補充點知識,PHP使用GD2函數庫實現對各種圖形圖像的處理,所以我們制作驗證碼主要要使用到一些GD2函數庫里的一些函數:

imagecreatetruecolor($width,$height)函數,主要用于創建畫布,有2個參數width和height是必選的,代表你所要創建的畫布的長和寬;

imagecolorallocate($image, $red, $green, $blue)函數,主要用于填充圖像,第1個參數是你所創建的圖像的標識符,后面3個參數是顏色的RGB設置;

imagefill($image, $x, $y, $color)函數,第一個函數是你創建的圖像標識符,第2、3個參數$x、$y是左上角坐標,最后一個參數是你要填充顏色;

imagestring($image, $font, $x, $y, $string, $color)函數設置文字,且imagestring()函數如果直接繪制中文字符串會出現亂碼,如果要繪制中文字符串可以使用imagettftext()函數;

imagepng($image[,$filename])函數以phg格式將圖像輸出到瀏覽器或者保存為文件,第1個參數為你創建的圖像標識號,第2個參數為可選參數,你要保存文件的文件名;

imagesetpixel($image, $x, $y, $color)函數畫單個像素點;

imageline($image, $x1, $y1, $x2, $y2, $color)函數畫一條線段,$x1、$y1是線段是左上角坐標,$x2、$y2是線段的右下角坐標。

代碼主要如下:

<?php
  //創建畫布
  $img = imagecreatetruecolor(100, 50);
  //創建顏色
  $black = imagecolorallocate($img, 0x00, 0x00, 0x00);
  $green = imagecolorallocate($img, 0x00, 0xFF, 0x00);
  $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);
  //畫布填充顏色
  imagefill($img, 0, 0, $white);//背景為白色
  //生成隨機驗證碼
  $code = make(5);
  //設置文字
  imagestring($img, 5, 10, 10, $code, $black);//黑字
  //加入噪點干擾
  for ($i = 0; $i <300; $i++){
    imagesetpixel($img, rand(0, 100), rand(0, 100), $black);
    imagesetpixel($img, rand(0, 100), rand(0, 100), $green);
  }
  //加入線段干擾
  for ($n = 0; $n <=1; $n++){
    imageline($img, 0, rand(0, 40), 100, rand(0, 40), $black);
    imageline($img, 0, rand(0, 40), 100, rand(0, 40), $white);
  }
  //輸出驗證碼
  header("content-type: image/png");//告訴瀏覽器這個文件是一個png圖片
  imagepng($img);
  //銷毀圖片,釋放內存
  imagedestroy($img);
  //生成隨機驗證碼的函數
  function make($length){
    $code = 'abcdefghijklmnopqrsruvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    //str_shuffle()函數用于打亂字符串
    return substr(str_shuffle($code), 0, $length);
  }
?>

上述內容就是如何在PHP中使用GD2函數庫實現一個驗證碼功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨眉山市| 广安市| 武功县| 府谷县| 剑川县| 晋中市| 河间市| 双鸭山市| 呼玛县| 阜平县| 乌鲁木齐市| 伊春市| 昆山市| 盱眙县| 安康市| 金乡县| 阳春市| 介休市| 赤壁市| 即墨市| 会理县| 外汇| 宜黄县| 乌鲁木齐县| 哈巴河县| 平阳县| 古田县| 大新县| 石屏县| 东阿县| 安义县| 盐山县| 孟连| 汾西县| 文安县| 容城县| 襄垣县| 青铜峡市| 花莲县| 明光市| 嘉义市|