PHP封装函数实现生成随机的字符串验证码

yipeiwu_com6年前PHP代码库

前言

一般情况下我们在做程序的时候肯定会有很多地方使用到随机字符串、比如做验证码用到的、然后就把这个函数封装起来、使用时候要设置2个参数、原理是随机抓取字符串、对字符串进行拼接

$str设置里要被采集的字符串、比如

$str=´jfowef34098094j3204efa234sfg2z23srhftj345xjxjhsrth´;

则在函数里面生成的字符串就回从 $str 里面随机抓取

$codeLen设置要生成的随机字符串、设置5、则生成5个随机字符串、比如

$codeLen=´5´;//设置生成的随机数个数

代码如下

<?php

//mt_rand 获取随机数 mt_rand(min, max);
//设置被随机采集的字符串
$str="abcdefghijkmnpqrstuvwxyz0123456789ABCDEFGHIGKLMNPQRSTUVWXYZ";

//设置生成的随机数个数
$codeLen=´5´;

function str_rand($str,$codeLen){
 $rand="";
 for($i=0; $i<$codeLen-1; $i ){
  //如:随机数为30 则:$str[30]
  $rand .= $str[mt_rand(0, strlen($str)-1)]; 
 }
 return $rand;
}

$code=str_rand($str,$codeLen);
echo $code; 

?>

总结

以上就是完整的生成随机字符串的方法、除了可以用到验证码的地方还可以使用到其它地方,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

PHP版QQ互联OAuth示例代码分享

由于国内QQ用户的普遍性,所以现在各大网站都尽可能的提供QQ登陆口,下面我们来看看php版,给大家参考下 /** * QQ互联 oauth * @author dyllen *...

PHP中删除变量时unset()和null的区别分析

第一种方法:$varname=null 第二种方法:unset($varname) 这两种方法都可以删除变量,但结果有些许的差别。 代码: 复制代码 代码如下: <?php $a...

php定时计划任务与fsockopen持续进程实例

Web服务器执行一个PHP脚本,有时耗时很长才能返回执行结果,后面的脚本需要等待很长一段时间才能继续执行。如果想实现只简单触发耗时脚本的执行而不等待执行结果就直接执行下一步操作,可以通过...

php使用sql server验证连接数据库的方法

本文实例讲述了php使用sql server验证连接数据库的方法。分享给大家供大家参考。具体分析如下: 当您连接到 SQL Server 时,SQL Server Driver for...

PHP Memcached + APC + 文件缓存封装实现代码

使用方法: Memcached 复制代码 代码如下: $cache = new Cache_MemCache(); $cache->addServer('www1'); $cach...