begin process at 2010 03 10 22:37:45
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > GÉNÉRATEUR D'IDENTIFIANT UNIQUE (LETTRES & CHIFFRES)

GÉNÉRATEUR D'IDENTIFIANT UNIQUE (LETTRES & CHIFFRES)


 Information sur la source

Note :
3,25 / 10 - par 4 personnes
3,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths & Algorithmes Classé sous :id, unique, identifiant, générateur, hexadécimale Niveau :Débutant Date de création :08/07/2006 Date de mise à jour :22/08/2008 10:13:45 Vu :14 753

Auteur : Gallient

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce code sert à renvoyer une id unique qui peux être utilisé par exemple pour les systèmes d'uploads.
Si un fichier est uploader avec le même nom qu'un fichier déjà présent sur le serveur, cella remplace le fichier.
Donc pour éviter ce problème, on rajoute une id au nom du fichier, comme ca, on évite ce problème !

Source

  • if(!function_exists('uniqid'))
  • {
  • function uniqid()
  • {
  • # Cette fonction renvoie un identifiant unique
  • $micro = substr (microtime(), 2, 6) ;
  • $concat = time() . $micro ;
  • $dec_1 = substr ($concat, 0, 8) ;
  • $dec_2 = substr ($concat, 8, 8) ;
  • $hex_1 = dechex ($dec_1) ;
  • $hex_2 = dechex ($dec_2) ;
  • $id = $hex_1 . $hex_2 ;
  • return $id ;
  • }
if(!function_exists('uniqid'))
{
 function uniqid()
 {
 # Cette fonction renvoie un identifiant unique
    $micro = substr (microtime(), 2, 6) ;
    $concat = time() . $micro ;
    $dec_1 = substr ($concat, 0, 8) ;
    $dec_2 = substr ($concat, 8, 8) ;
    $hex_1 = dechex ($dec_1) ;
    $hex_2 = dechex ($dec_2) ;
    $id = $hex_1  . $hex_2 ;
    return $id ;
}

 Conclusion

Aucun bug signaler jusqu'a présent.


 Historique

09 juillet 2006 11:57:02 :
Niveau diminué à la demande générale
22 août 2008 10:13:45 :
Ajout de la condition si la fonction existe déjà.

 Sources de la même categorie

Source avec une capture CALCUL DE TVA MARGE AVEC REMISE FOURNISSEUR SPÉCIALE POUR LE... par lcomb
Source avec Zip EVALUER UNE EXPRESSION À PARTIR D'UNE CHAINE DE CARACTÈRE par TheWeasel47
FONCTION EQUATION LÉGÈRE par ff5
Source avec Zip Source avec une capture TRACEUR DE COURBE EN COORDONNÉES CARTÉSIENNES (MAJ) par fredbonmatin
CONVERTIR LES RÉFÉRENCES DE COLONNE EXCEL DE CHIFFRE EN LETT... par computman007

 Sources en rapport avec celle ci

Source avec Zip GÉNÉRATEUR DE MOTS CLÉS (TAGS) À PARTIR DE FICHIER HTML OU B... par Galip
GÉNÉRATEUR HTML DE MAP POUR IMAGE CLIQUABLE par 8Tnerolf8
Source avec Zip CONVERTISSEUR DE BASE DÉCIMALE, BINAIRE, HEXADÉCIMAL, ... par nicof3
Source avec Zip Source avec une capture GÉNÉRATEUR DE FORMULAIRE [AJAX][PHP5] par Morphinof
GÉNÉRATEUR SQL D'INSERTION OU DE MISE À JOUR par 8Tnerolf8

Commentaires et avis

Commentaire de Tit0x le 08/07/2006 14:43:35

Hello,

Si je comprend bien J'upload une photo qui s'intitule : maphoto.jpg alors le script va me la renommer en : [id-généré]-maphoto.jpg ?

Commentaire de coucou747 le 08/07/2006 16:55:39

euh... en quoi c'est expert ?

pourquoi ne pas utiliser md5(microtime()) comme on le fait pour les id de sessions ?

Commentaire de Gallient le 08/07/2006 22:49:16

Expert car il faut être bon en maths et ne pas utiliser md5(microtime()) parque je mise sur la différence pour plaire :D

Commentaire de TheSin le 09/07/2006 11:26:23

je vois pas où y'a des maths dans ton code ......
je vois que de la conversion décimale en hexadécimal, de la concaténation de chaine, et de la découpe de chaine ....
bref, très exagéré ce niveau expert ...

Commentaire de coucou747 le 09/07/2006 12:20:19

et pourquoi ne pas utiliser md5(microtime()) ? les développeurs de php l'utilisent, personellement, je leur fait confiance...

de plus, à 16 ans, tu es peut-être le meilleur de ta classe en math, mais de là à dire bon... Attend la fin de prépa MP pour pouvoir juger de qui est bon ou mauvais.

Bon en math, ça veut dire poster expert ? Et bien dans ce cas, ici, beaucoup de gens peuvent poster expert, et tout ceux de cppfrance (enfin presque...)

Commentaire de TheSin le 09/07/2006 14:08:06

na mais ca y'est, maintenant c'est du initié ca ...
non mais tu pourrais mettre débutant quand même .....
ou alors explique pourquoi tu met initié parce que j'ai vraiment du mal à comprendre ...

coucou747 => entièrement d'accord avec toi, un md5(microtime()) tout bête, c'est déjà bien suffisant ^^

Commentaire de coucou747 le 09/07/2006 15:34:36

"c'est déjà bien suffisant"=> si ça ne l'était pas, SHA1 offre des possibilitées interessantes... si tu trouves une collision, fais moi signe, je t'indiquerais un endroit ou tu pourras devennir reconnu, et plein de tunes (bah oui, les collisions sont rares...)

Commentaire de TheSin le 09/07/2006 18:30:46

t'inquiete pas, j'ai jamais eu de collision non plus, je connais parfaitement ces algorithmes ^^
quand je disais "c'est déjà bien suffisant", c'est pour dire que y'a  pas besoin de plus de ligne et de calculs pour faire la même chose ;-)

Commentaire de Prof_Matches le 10/07/2006 07:16:50

Bon, les gars, vous allez arrêter de vous chamailler.... "c'est pas un post expert, ...."
Sachez apprécier les choses.  Si vous n'êtes pas d'accord, et bien soyez humble et ayez la bonne conduite...
On dirait des gosses de 15 ans qui se disputent des images échangées à la récréation.
Bonne semaine à tous.

Commentaire de TheSin le 10/07/2006 10:29:45

bin moi j'aimerais quand meme que la source ne soit pas en initié non plus car je pense pas que ça le soit ....
encore, utiliser un array_multisort() est déjà plus initié que dechex(), time(), microtime(), et substr()

Commentaire de Gallient le 10/07/2006 12:26:29

Et coucou747, je déteste tout les gens qui ont des idées toutes faites sur le personne quand ils savent leur âge. Tu fais parti de ces personnes.

Commentaire de malalam le 10/07/2006 12:56:19 administrateur CS

Hello,

ouais bon, on arrête les chamailleries en effet.
On se fiche de l'âge, on est là pour commenter un code.
Et de ce point de vue là, je ne vois en effet pas son intérêt.
MAIS...je le laisse, parce qu'il a le mérite de montrer des fonctions certes simples, mais que l'on voit peu.
Donc, pourquoi pas.
Je rappelle néanmoins à Gallient qu'en programmation, rien ne sert de réinventer la roue : on fait alors généralement moins bien, moins optimisé, moins rapide que les créateur du langage utilisé.
Voir uniqid()
http://fr2.php.net/manual/fr/function.uniqid.php

Commentaire de coucou747 le 10/07/2006 15:56:25

Gallient, je mettais juste en avant ta prétention... et entre nous, je préfère ma solution ou celle de malalam, et t'as pas dit pourquoi elles étaient moins bonnes...

Commentaire de Gallient le 15/07/2006 23:06:18

Merci Malalam

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Somme, valeur unique depuis requête [ par ltab ] Bonjour,Je cherche en vain depuis des lustres à faire l'addition de champs provenant d'une requête$sql = "select appartement FROM chambres WHERE id = ID Unique [ par fredgre ] Bonjour,j'ai un problème simple qui consiste à créer un ID unique en variable de session, j'utilise "uniqid" mais le chiffre généré est trop important Donner un unique id au visiteur [ par bakayan9 ] Bonjour,je suis en train de réaliser une site web de statistiques et je veux savoir est qu'il y'a une fonction PHP qui permet de donner une unique ID (Php) pb de syntaxe avec requète DELETE [ par Gwendo69 ] Bonsoir,lorsque j'essaie de faire ces requêtes.//récupère l'identifiant de l'artiste$identifiant = 'SELECT id_artiste FROM artiste WHERE nom_artiste=" récupérer l'identifiant d'une variable php [ par xlight ] Voila mon code: je récupére les donnees d'une table et je les fais s'aaficher les unes a la suite des autres en leur affectant un identifian array_unique [ par coockiesch ] Bonjour!J'ai un tableau à plusieurs dimensions.. Il s'agit d'informations sur des photos:dossier, id de la photo. J'aimerais enlever les doublons determiner un id de session [ par biloutte33 ] bonjour voici mon code pour ma le login d'un membre:<?php mysql_connect("sql.free.fr","nom d'utilisateur","mot de passe");  mysql_select_ Requete MySQL [ par flopad ] Bonjour,comment est ce que je dois faire pour qu'après avoir écrit le numéro unique dans la table id_unique, j'ajoute le rédacteur Envoie données multiples dans XML [ par krolenain ] Salut,bon le titre est pas très clair, je m'explique:je crée un fichier XML de ma base de donnée MySql avec PHP.Tout allait bien jusqu' Afficher dans un Formulaire [ par CyberMen30 ] J'ai besoins d'afficher les données quand j'ai dans ma table, dans les même champs que le formulaire dont j'avais entrer les données et


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales