2011-09-17 23 views

回答

11

例如,您可以使用auto_increment圖像ID,將其轉換爲base58(a-zA-Z0-9)。

base_convert最多可轉換爲base36:

$id = base_convert(123456789, 10, 36); // "21i3v9" 

(也PHP - How to base_convert() up to base 62見)

如果你想不可預測的形象標識,看this answer


MongoDB的標識(如使用的是MongoDB的):

ID被12個字節的數字,編碼以base16,這使得它們的24個字節。

可以壓縮他們17個字節由base16將它們轉換爲base58:

gmp_strval(gmp_init("47cc67093475061e3d95369d", 16), 58)); // "1KXotnQBQbcPmeOo9" 

而且看一看的序號部分here。這將允許您爲圖像生成較小的唯一編號。

+0

但...我是使用MongoDB,有一個像'shkxjfhsuhgh'這樣的唯一ID字段,所以它不是一個整數 – michael

+0

那麼,爲什麼不使用它? – arnaud576875

+0

更新了答案。 – arnaud576875