2011-09-17 13 views

Respuesta

11

Podrías usar tu identificación de imagen auto_increment, convertida a base58 (a-zA-Z0-9) por ejemplo.

base_convert puede convertir hasta base36:

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

(Ver también PHP - How to base_convert() up to base 62)

Si desea identificadores de imagen no predecibles, mira this answer.


Para los ID de MongoDB (como se está utilizando MongoDB):

Los ids son 12 bytes números, codificados a Base16, lo que les hace 24 bytes.

Puede comprimir a 17 bytes mediante la conversión de Base16 a base58:

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

también echar un vistazo a los números de secuencia sección here. Esto le permitirá generar números únicos más pequeños para sus imágenes.

+0

Pero ... estoy usando MongoDB, hay un campo de id único como 'shkxjfhsuhgh', entonces no es un número entero – michael

+0

entonces, ¿por qué no usarlo? – arnaud576875

+0

respuesta actualizada. – arnaud576875

Cuestiones relacionadas