function get_rand_code( $code_length = 8, $code_mode = '' )
{
if ( is_numeric( $code_length ) && !empty( $code_mode ) )
{
switch( $code_mode )
{
case '1':
$str = '1234567890';
break;
case '2':
$str = 'abcdefghijklmnopqrstuvwxyz';
break;
case '3':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case '4':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case '5':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
case '6':
$str = 'abcdefghijklmnopqrstuvwxyz1234567890';
break;
default:
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
break;
} $result = '';
$str_length = strlen( $str )-1; for( $i = 0; $i < $code_length; $i++ )
{
$num = mt_rand( 0, $str_length );
$result .= $str[$num];
} return $result;
}
else
{
return false;
}
}
{
if ( is_numeric( $code_length ) && !empty( $code_mode ) )
{
switch( $code_mode )
{
case '1':
$str = '1234567890';
break;
case '2':
$str = 'abcdefghijklmnopqrstuvwxyz';
break;
case '3':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case '4':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case '5':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
case '6':
$str = 'abcdefghijklmnopqrstuvwxyz1234567890';
break;
default:
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
break;
} $result = '';
$str_length = strlen( $str )-1; for( $i = 0; $i < $code_length; $i++ )
{
$num = mt_rand( 0, $str_length );
$result .= $str[$num];
} return $result;
}
else
{
return false;
}
}
class activeCodeObj
{ function getCode ($length = 32, $mode = 0)
{
switch ($mode) {
case '1':
$str = '1234567890';
break;
case '2':
$str = 'abcdefghijklmnopqrstuvwxyz';
break;
case '3':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case '4':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case '5':
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
case '6':
$str = 'abcdefghijklmnopqrstuvwxyz1234567890';
break;
default:
$str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
break;
} $result = '';
$l = strlen($str); for($i = 0;$i < $length;$i ++){
$num = rand(0, $l);
$result = $result.substr($str,$num,1);
}
return $result;
}
}$length="";
$mode="";
$code="";
$length = 32;
$mode = 1;
$code = new activeCodeObj;
echo $code->getCode($length, $mode);
?>
但是却不能保证每次所产生的结果(数字或者字符串)不一样...
比如对get_rand_code(10,1)的两次调用.有可能都返回1234567890
所以不符合题目的要求吧???还请赐教......
$hash = '';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
//如果你还嫌不够
echo random(5).date("ymdhis");