PHP封裝函數(shù)實(shí)現(xiàn)生成隨機(jī)的字符串驗(yàn)證碼
前言
一般情況下我們?cè)谧龀绦虻臅r(shí)候肯定會(huì)有很多地方使用到隨機(jī)字符串、比如做驗(yàn)證碼用到的、然后就把這個(gè)函數(shù)封裝起來、使用時(shí)候要設(shè)置2個(gè)參數(shù)、原理是隨機(jī)抓取字符串、對(duì)字符串進(jìn)行拼接
$str設(shè)置里要被采集的字符串、比如
$str=´jfowef34098094j3204efa234sfg2z23srhftj345xjxjhsrth´;
則在函數(shù)里面生成的字符串就回從 $str 里面隨機(jī)抓取
$codeLen設(shè)置要生成的隨機(jī)字符串、設(shè)置5、則生成5個(gè)隨機(jī)字符串、比如
$codeLen=´5´;//設(shè)置生成的隨機(jī)數(shù)個(gè)數(shù)
代碼如下
<?php //mt_rand 獲取隨機(jī)數(shù) mt_rand(min, max); //設(shè)置被隨機(jī)采集的字符串 $str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ"; //設(shè)置生成的隨機(jī)數(shù)個(gè)數(shù) $codeLen=´5´; function str_rand($str,$codeLen){ $rand=""; for($i=0; $i<$codeLen-1; $i ){ //如:隨機(jī)數(shù)為30 則:$str[30] $rand .= $str[mt_rand(0, strlen($str)-1)]; } return $rand; } $code=str_rand($str,$codeLen); echo $code; ?>
總結(jié)
以上就是完整的生成隨機(jī)字符串的方法、除了可以用到驗(yàn)證碼的地方還可以使用到其它地方,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
- php圖像驗(yàn)證碼生成代碼
- PHP生成各種隨機(jī)驗(yàn)證碼的方法總結(jié)【附demo源碼】
- PHP生成圖片驗(yàn)證碼功能示例
- PHP生成圖像驗(yàn)證碼的方法小結(jié)(2種方法)
- PHP生成制作驗(yàn)證碼的簡(jiǎn)單實(shí)例
- 最新最全PHP生成制作驗(yàn)證碼代碼詳解(推薦)
- 基于PHP生成簡(jiǎn)單的驗(yàn)證碼
- PHP生成可點(diǎn)擊刷新的驗(yàn)證碼簡(jiǎn)單示例
- php生成酷炫的四個(gè)字符驗(yàn)證碼
- php生成圖片驗(yàn)證碼的方法
- php實(shí)現(xiàn)生成驗(yàn)證碼實(shí)例分享
- php生成復(fù)雜驗(yàn)證碼(傾斜,正弦干擾線,黏貼,旋轉(zhuǎn))
相關(guān)文章
php獲取后臺(tái)Job管理的實(shí)現(xiàn)代碼
從數(shù)據(jù)庫中取出job 隊(duì)列 創(chuàng)建新的進(jìn)程進(jìn)行執(zhí)行 等待job 結(jié)束2011-06-06PHP字符串長度計(jì)算 - strlen()函數(shù)使用介紹
在PHP中,函數(shù)strlen()返回字符串的長度,strlen()函數(shù)返回字符串所占的字節(jié)長度,一個(gè)英文字母、數(shù)字、各種符號(hào)均占一個(gè)字節(jié),它們的長度均為12013-10-10解析:通過php socket并借助telnet實(shí)現(xiàn)簡(jiǎn)單的聊天程序
本篇文章是對(duì)通過php socket并借助telnet實(shí)現(xiàn)簡(jiǎn)單聊天程序的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06使用cookie實(shí)現(xiàn)統(tǒng)計(jì)訪問者登陸次數(shù)
本篇文章是對(duì)使用cookie實(shí)現(xiàn)統(tǒng)計(jì)訪問者登陸次數(shù)的代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP下通過exec獲得計(jì)算機(jī)的唯一標(biāo)識(shí)[CPU,網(wǎng)卡 MAC地址]
PHP下通過exec獲得計(jì)算機(jī)的唯一標(biāo)識(shí)的代碼,可獲得CPU,網(wǎng)卡 MAC地址信息。2011-06-06