用于按顺序/唯一名称保存图像的PHP函数

用于按顺序/唯一名称保存图像的PHP函数,php,function,uniqueidentifier,Php,Function,Uniqueidentifier,我正在尝试创建一个php函数来命名第一个上传的图像:a.png,下一个,b.png,在完成字母表和数字后,它将继续作为:aa.png,ab.png,etc(完成后扩展字符串大小)。我希望有一组字符按顺序排列,而不仅仅是字母表: $charset = 'abcdefghijklmnopqrstuvwxyz'; $charset .= '0123456789'; $charset .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 它将存储最后一个图像名(ect ab3.png),以

我正在尝试创建一个php函数来命名第一个上传的图像:a.png,下一个,b.png,在完成字母表和数字后,它将继续作为:aa.png,ab.png,etc(完成后扩展字符串大小)。我希望有一组字符按顺序排列,而不仅仅是字母表:

$charset = 'abcdefghijklmnopqrstuvwxyz';
$charset .= '0123456789';
$charset .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
它将存储最后一个图像名(ect ab3.png),以便下次运行时可以继续使用ab4.png


有人知道或有这样的功能吗?或者你们能帮帮我吗?

你们有什么特别的理由想这样做吗?或者,您是否正在试图找到一种创建唯一文件名的方法?如果是后者,那么看看PHP的函数

在这种情况下,这样如何,它不能满足您的所有要求,但会让您更接近:

function createId($numId) {
    $result = '';
    $mod = 26;
    $quotient = $numId;

    while ($quotient >= 0) {
        $result .= chr(65 + ($quotient % $mod));
        $quotient = $quotient / $mod - 1;
    }

    return $result;
}
以及以下电话:

print createId(0) . "\n";
print createId(25) . "\n";
print createId(26) . "\n";
print createId(8) . "\n";
print createId(9876) . "\n";
给你:

A

Z

AA

赢得


只是按照你的要求做了些马虎的事

$id = 128;

$charset = 'abcdefghijklmnopqrstuvwxyz';
$charset .= '0123456789';
$charset .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

$len = strlen($charset);
$ret = '';
$tmp = $id;
$it = ceil($tmp / $len);
for($i = 0; $i < $it; $i++) {
    $ret .= $charset[($tmp > $len) ? 0 : $tmp % $len];
    $tmp -= $len;
}


echo $ret;
$id=128;
$charset='abcdefghijklmnopqrstuvxyz';
$charset.='0123456789';
$charset.='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$len=strlen($charset);
$ret='';
$tmp=$id;
$it=ceil($tmp/$len);
对于($i=0;$i<$it;$i++){
$ret.=$charset[($tmp>$len)?0:$tmp%$len];
$tmp-=$len;
}
echo$ret;
$id
应该是数据库中的增量主id


编辑:不完全是你想要的。没关系,以丹的解决方案为例。

我会用它,但我正试图找到尽可能简短的内容,它们将被用作链接。这真是太棒了。非常感谢。当然,我有一个小问题,我如何修改它以使用字符集(如上面我的)而不是使用char()(这样我就不必使用char()中的其他字符)?这也是一些很棒的代码,我将使用这两个字符来尝试在两者之间创建一些东西。谢谢