(PHP 4, PHP 5)
uniqid — Generar un ID único
$prefix
= ""
[, bool $more_entropy
= false
]] )Obtiene un identificador único prefijado basado en la hora actual en microsegundos.
prefix
Puede ser útil, por ejemplo, si se generan identificadores simultáneamente en varios hosts que podrían por casualidad generar el identificador en el mismo microsegundo.
Con un prefix
vacío, la cadena devuelta tendrá
una longitud de 13 caracteres. Si more_entropy
es
TRUE
, tendrá 23 caracteres.
more_entropy
Si está establecido a TRUE
, uniqid() añadirá entropía
adicional (usando el generador congruente lineal combinado) al final
del valor retornado, lo que incrementará la posibilidad de que el resultado
sea único.
Devuelve el identificador único, como cadena.
Ejemplo #1 Ejemplo de uniqid()
<?php
/* Un id único, como: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());
/* También podemos prefijar el id único, esto es lo mismo que
* hacer:
*
* $uniqid = $prefijo . uniqid();
* $uniqid = uniqid($prefijo);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* También podemos activar el parámetro more_entropy, que es
* requerido en algunos sistemas, como Cygwin. Esto hace que uniqid()
* produzca un valor como: 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>
Versión | Descripción |
---|---|
5.0.0 |
El parámetro prefix se hizo opcional.
|
4.3.1 |
Se aumentó el límite de 114 caracteres de longitud para
prefix .
|
Esta función no genera tokens criptográficamente seguros, de hecho, el valor devuelto, sin pasar ningún parámetro adicional, es ligeramente diferente del de microtime(). Si necesita generar tokens criptográficamente seguros utilice openssl_random_pseudo_bytes().
Nota:
Bajo Cygwin,
more_entropy
debe ser establecido aTRUE
para que esta función funcione.