php生成随机图片名
最近遇到一个关于多图片上传的问题,本想利用时间戳生成唯一的图片名称,但是感觉单一的数字名称看上去太不爽了,于是乎添加了点花样.如下函数随机生成字符串,可做为图片的名称.
<?php
function code( $size = 1, $length = 32, $mode = '' ) {
$code_array = array ();
$offset = 1.5; // 为避免递归,采用取子集的办法
$offsize = $size * $offset;
for($count = 0; $count < $offsize; $count ++) {
$code_array [] = $this->_seed( $length, $mode );
}
$unique_array = array_unique( $code_array );
if ($size == 1) {
$arr = array_slice( $unique_array, 0, $size );
return $arr [0];
}
return array_slice( $unique_array, 0, $size );
}
function _seed( $length = 10, $mode ) {
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 = '';
$seedlength = strlen( $str ) - 1;
for($i = 0; $i <= $length - 1; $i ++) {
$num = mt_rand( 0, $seedlength );
$result .= $str [$num];
}
return $result;
}
?>
- cfanwzl's blog
- 添加新评论
- 603 次点击