欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

支持中文、字母、數(shù)字的PHP驗證碼

 更新時間:2015年05月04日 11:28:21   投稿:hebedich  
本文給大家分享的是一個可以生產(chǎn)5種驗證碼的php類,該類的對象能動態(tài)獲取驗證碼圖片,驗證碼字符保存在SESSION中 又要的小伙伴可以參考下。

本文以實例演示5種驗證碼,并介紹生成驗證碼的函數(shù)。PHP生成驗證碼的原理:通過GD庫,生成一張帶驗證碼的圖片,并將驗證碼保存在Session中。

session_start(); 
getCode(4,60,20); 
  
function getCode($num,$w,$h) { 
  $code = ""; 
  for ($i = 0; $i < $num; $i++) { 
    $code .= rand(0, 9); 
  } 
  //4位驗證碼也可以用rand(1000,9999)直接生成 
  //將生成的驗證碼寫入session,備驗證時用 
  $_SESSION["helloweba_num"] = $code; 
  //創(chuàng)建圖片,定義顏色值 
  header("Content-type: image/PNG"); 
  $im = imagecreate($w, $h); 
  $black = imagecolorallocate($im, 0, 0, 0); 
  $gray = imagecolorallocate($im, 200, 200, 200); 
  $bgcolor = imagecolorallocate($im, 255, 255, 255); 
  //填充背景 
  imagefill($im, 0, 0, $gray); 
  
  //畫邊框 
  imagerectangle($im, 0, 0, $w-1, $h-1, $black); 
  
  //隨機繪制兩條虛線,起干擾作用 
  $style = array ($black,$black,$black,$black,$black, 
    $gray,$gray,$gray,$gray,$gray 
  ); 
  imagesetstyle($im, $style); 
  $y1 = rand(0, $h); 
  $y2 = rand(0, $h); 
  $y3 = rand(0, $h); 
  $y4 = rand(0, $h); 
  imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED); 
  imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED); 
  
  //在畫布上隨機生成大量黑點,起干擾作用; 
  for ($i = 0; $i < 80; $i++) { 
    imagesetpixel($im, rand(0, $w), rand(0, $h), $black); 
  } 
  //將數(shù)字隨機顯示在畫布上,字符的水平間距和位置都按一定波動范圍隨機生成 
  $strx = rand(3, 8); 
  for ($i = 0; $i < $num; $i++) { 
    $strpos = rand(1, 6); 
    imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black); 
    $strx += rand(8, 12); 
  } 
  imagepng($im);//輸出圖片 
  imagedestroy($im);//釋放圖片所占內(nèi)存 
}

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • 重新認識php array_merge函數(shù)

    重新認識php array_merge函數(shù)

    PHP中合并數(shù)組分成兩種情況:1.如果這兩個數(shù)組中有相同的字符串鍵名 2.如果這兩個數(shù)組中有相同的數(shù)值鍵名
    2014-08-08
  • PHP水印類,支持添加圖片、文字、填充顏色區(qū)域的實現(xiàn)

    PHP水印類,支持添加圖片、文字、填充顏色區(qū)域的實現(xiàn)

    下面小編就為大家?guī)硪黄狿HP水印類,支持添加圖片、文字、填充顏色區(qū)域的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳談php靜態(tài)方法及普通方法的區(qū)別

    詳談php靜態(tài)方法及普通方法的區(qū)別

    下面小編就為大家?guī)硪黄斦刾hp靜態(tài)方法及普通方法的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Yii框架日志記錄Logging操作示例

    Yii框架日志記錄Logging操作示例

    這篇文章主要介紹了Yii框架日志記錄Logging操作,結(jié)合實例形式分析了Yii框架日志記錄Logging模塊相關(guān)配置與簡單使用技巧,需要的朋友可以參考下
    2018-07-07
  • php版微信公眾賬號第三方管理工具開發(fā)簡明教程

    php版微信公眾賬號第三方管理工具開發(fā)簡明教程

    這篇文章主要介紹了php版微信公眾賬號第三方管理工具開發(fā)方法,結(jié)合實例形式分析了php基于curl參數(shù)傳遞實現(xiàn)第三方管理功能的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2016-09-09
  • THINKPHP5分頁數(shù)據(jù)對象處理過程解析

    THINKPHP5分頁數(shù)據(jù)對象處理過程解析

    這篇文章主要介紹了THINKPHP5分頁數(shù)據(jù)對象處理過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • ThinkPHP之N方法實例詳解

    ThinkPHP之N方法實例詳解

    ThinkPHP的N方法屬于計數(shù)器方法,這篇文章主要介紹了ThinkPHP的N方法,需要的朋友可以參考下
    2014-06-06
  • PHP實現(xiàn)QQ、微信和支付寶三合一收款碼實例代碼

    PHP實現(xiàn)QQ、微信和支付寶三合一收款碼實例代碼

    這篇文章主要給大家介紹了關(guān)于利用PHP如何實現(xiàn)QQ、微信和支付寶三合一收款碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-02-02
  • Codeigniter購物車類不能添加中文的解決方法

    Codeigniter購物車類不能添加中文的解決方法

    這篇文章主要介紹了Codeigniter購物車類不能添加中文的解決方法,涉及底層代碼中關(guān)于中文的限制問題,可通過修改正則匹配規(guī)則來解決,需要的朋友可以參考下
    2014-11-11
  • php中apc緩存使用示例

    php中apc緩存使用示例

    APC全稱Alternative PHP Cache,可以緩存php的源碼文件,也可以緩存用戶數(shù)據(jù),下面我們就安裝一下他,看看如何查詢緩存、修改緩存、刪除緩存等功能
    2013-12-12

最新評論