三
30
2009
PHP 生成随机码 实际运用 事例
发布者: seasun define(“ACTIVE_PREFIX”, “1″); //可以标识为生成激活码的批次
define(“ACTIVE_RAND_NUM”, 6); //随机数的数目
define(“ACTIVE_START”, 0); //需要产生的随机数数目开始值
define(“ACTIVE_END”, 500); //需要产生的随机数数目结束值
define(“NUM_PREFIX”, 0); //补足随机数的宽度
define(“NUM_LEN”, strlen(ACTIVE_END – ACTIVE_START)); //随机数的宽度
for($i = ACTIVE_START; $i <= ACTIVE_END; $i ++){
$num = $i;
$len = strlen($num);
if ($len < NUM_LEN) $num = str_repeat(NUM_PREFIX, (NUM_LEN – $len)) . $num;
$code = ACTIVE_PREFIX . getRandoms(ACTIVE_RAND_NUM) . $num;
}
function getRandoms($length) {
$arr1 = range(0, 9);
$arr2 = range(‘a’,'z’);
$arr3 = range(‘A’,'Z’);
$pattern = array_merge($arr1,$arr2,$arr3); //合并数组
$len = count($pattern) – 1;
$key = “”;
for($i = 0; $i < $length; $i ++) {
$key .= $pattern[mt_rand(0, $len)]; //生成php随机数
}
return $key;
}