1 /**
2 +----------------------------------------------------------
3 * 生成随机字符串
4 +----------------------------------------------------------
5 * @param int $length 要生成的随机字符串长度
6 * @param string $type 随机码类型:0,数字+大小写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符
7 +----------------------------------------------------------
8 * @return string
9 +----------------------------------------------------------
10 echo randCode(6,1);
11 */
12 function randCode($length = 32, $type = 0) {
13 $arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|");
14 if ($type == 0) {
15 array_pop($arr);
16 $string = implode("", $arr);
17 } elseif ($type == "-1") {
18 $string = implode("", $arr);
19 } else {
20 $string = $arr[$type];
21 }
22 $count = strlen($string) - 1;
23 $code = '';
24 for ($i = 0; $i < $length; $i++) {
25 $code .= $string[rand(0, $count)];
26 }
27 return $code;
28 }