J’avais déjà essayé de générer un identifiant unique avec PHP mais je trouvais que celui-ci était beaucoup trop long pour nos sites internet.
J’ai donc planché sur une petite fonction qui permet de générer des identifiants unique avec PHP comme les identifiant de Youtube :
Pour cela j’ai un peu réfléchis et lister tout ce qu’il nous faut !
- Une chaine de 11 caractères.
- Une chaine avec des lettres et des chiffres.
- Des majuscules et des minuscules.
Je suis donc arrivé à cela :
function unique_id($numStr) { srand( (double)microtime()*rand(1000000,9999999) ); // Genere un nombre aléatoire $arrChar = array(); // Nouveau tableau for( $i=65; $i<90; $i++ ) { array_push( $arrChar, chr($i) ); // Ajoute A-Z au tableau array_push( $arrChar, strtolower( chr( $i ) ) ); // Ajouter a-z au tableau } for( $i=48; $i<57; $i++ ) { array_push( $arrChar, chr( $i ) ); // Ajoute 0-9 au tableau } for( $i=0; $i< $numStr; $i++ ) { $uId .= $arrChar[rand( 0, count( $arrChar ) )]; // Ecrit un aléatoire } return $uId; }
Avec cela, on arrive à une approximation des urls de Youtube :
echo unique_id(11); // retourne : 1HGanVmAusP ou fgLJiGrWNxF ou UuqRIQkoXs ...
Article original écrit par Dator et publié sur Dator.fr, le 2008. | Lien direct vers cet article | © Dator.fr - 2008
Mot clés: PHP