Générer la clé d'un code-barre ean13

Soyez le premier à donner votre avis sur cette source.

Vue 9 434 fois - Téléchargée 585 fois

Description

Ce script PHP vous permet de calculer la clé d'un code-barre type EAN13 à partir des 12 premiers chiffres de base.
La méthode de calcul est expliqué dans la source du ZIP.

Source / Exemple :


if(isset($_POST['cb'])){
	$cb = $_POST['cb'];
	$calcul = (($cb[1]+$cb[3]+$cb[5]+$cb[7]+$cb[9]+$cb[11])*3)+($cb[0]+$cb[2]+$cb[4]+$cb[6]+$cb[8]+$cb[10]);
	// $cb[X] où X correspond à la position du caractère dans la chaine. Le premier caractère équivaut à l'emplacement 0.
	$unite = substr($calcul,-1, 1); // On récupère la dernière unité de $calcul
	if($unite!=0) $clef = 10-$unite; // On vérifie que $unite ne soit pas égale à 0
	else $clef=0;
	$cbean = ($cb*10)+$clef; // On ajoute la clé en fin de code.
	echo "Clé : ".$clef."<br />";
	echo "Code Barre complet : ".$cbean;
}
?>
<form method="post" action="#">
Code barre (12 chiffres) : <input type="text" name="cb" /><input type="submit" value="Ok" />
</form>

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Bonjour,

Ca a l'air de marcher, mais j'aurai deux remarques :
- plutot que decouper le dernier caractere avec substr, pourquoi ne pas utiliser $cb[11] ?
- Tu pourrais facilement gerer le support des codes UPC americains de 12 caracteres (en gros, il faut ajouter un 0 devant pour en faire un EAN13).

Eric
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
15
Salut,

Cette source n'est pas vraiment une source, plutôt un snippet.
A poster donc sur codyx.org.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.