2011-09-17 2 views
8

可能性の重複:私たちはimgurは、画像のための5大文字と小文字を区別した文字列を使用していることを知っている http://imgur.com/t4Sykのようになめらかを取得しよう
PHP: How to generate a random, unique, alphanumeric string?PHPのイメージ(imgur.comのような)の一意のURLを生成するには?

。どうやってするの?

+0

http://stackoverflow.com/questions/1846202/php-how-to-generate-a-random-unique-alphanumeric-string – Fabio

+0

イメージの面白い使用例:) –

答えて

11

たとえば、auto_incrementのイメージIDをbase58(a-zA-Z0-9)に変換して使用できます。

base_convert

はbase36まで変換することができます:あなたは予測不可能な画像IDが必要な場合

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

this answerを見て、

を(もPHP - How to base_convert() up to base 62参照します)。 MongoDBのIDの


(あなたはMongoDBのを使用しているとして):

IDSは彼らに24バイトになりますbase16にエンコードされた12のバイトの番号が、あります。

あなたはbase58にbase16からそれらを変換することにより、17バイトににそれらを圧縮することができます:

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

シーケンス番号セクションhereを見てみましょう。これにより、画像に固有の小さな番号を生成することができます。

+0

しかし...私はMongoDBを使って、 'shkxjfhsuhgh'のようなユニークなidフィールドがあるので、それは整数ではありません – michael

+0

、なぜそれを使用しないのですか? – arnaud576875

+0

更新された回答。 – arnaud576875

関連する問題