[RESOLU] code barre qui ne s affiche pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] code barre qui ne s affiche pas

Re: [RESOLU] code barre qui ne s affiche pas

par Evolved » 06 juin 2013, 22:28

Nop, mes 2 fichiers sont déjà dans le même répertoire :s

Re: [RESOLU] code barre qui ne s affiche pas

par ghost5922 » 06 juin 2013, 22:02

Bonjour,

la page qui contient ce code ne serait il pas dans un sous répertoire ? si oui esssaie de mettre
<?php
$string_a_coder = "ThierryGodin";
//mettre control=0 pour ne pas utiliser le caractère de controle
echo "<img src='/images.php?string=" . htmlentities($string_a_coder,ENT_QUOTES,"ISO8859-1") . "&control=1'/>";
?>

Re: [RESOLU] code barre qui ne s affiche pas

par Evolved » 06 juin 2013, 20:54

Bonjour,

Je rencontre un problème avec ce code également, je n'arrive pas à afficher l'image avec le code suivant :
<?php
$string_a_coder = "ThierryGodin";
//mettre control=0 pour ne pas utiliser le caractère de controle
echo "<img src='images.php?string=" . htmlentities($string_a_coder,ENT_QUOTES,"ISO8859-1") . "&control=1'/>";
?>
J'obtiens cette icone:
Image
Mais si je me rend directement sur la page qui crée le code barre, j'obtiens bien un code barre qui fonctionne. Quelqu'un aurait une idée pour savoir d'où ça vient ?

Re: code barre qui ne s affiche pas

par coqenpatte » 06 mai 2013, 22:57

Je tiens a m'excuser de vous avoir fait perdre votre temps....

en fait j ai oublié de faire un echo de l'image créee....

desolé lol

tout marche impec maintenant (code qr, ean13, etc)

merci du coup de main

Re: code barre qui ne s affiche pas

par ghost5922 » 06 mai 2013, 18:19

Bonjour,

Oui moogli dans le premier code j'ai fais une erreur dans le nom du fichier entre image dans le img et le fichier nomme images la page ne sera jamais trouve :)

Re: code barre qui ne s affiche pas

par moogli » 06 mai 2013, 17:57

images ?

Re: code barre qui ne s affiche pas

par ghost5922 » 06 mai 2013, 14:19

Bonjour,

une erreur dans mon nom de fichier

index.php
<?php
$string_a_coder = "ThierryGodin";
//mettre control=0 pour ne pas utiliser le caractère de controle
echo "<img src='images.php?string=" . htmlentities($string_a_coder,ENT_QUOTES,"ISO8859-1") . "&control=1'/>";
?>
images.php

<?php

if(isset($_GET['string']))
{
    $TheString = preg_replace('¤[^0-9A-Z. $/+%*-]¤', '', strtoupper($_GET['string']));
}
else
{
    $TheString = 'ERREUR';
}

if(isset($_GET['control']) and $_GET['control'] == "1")
{
    $AddControl = TRUE;
}
else{
    $AddControl = FALSE;
}

//------------------------------------------------------------------------------

//création de l'image temporaire ===============================================
$thumb = imagecreatetruecolor(500, 25);
$fond = imagecolorallocate($thumb, 255, 0, 255); // fond
imagefill($thumb, 0, 0, $fond);

//------------------------------------------------------------------------------

// tableau Char -> Code ========================================================
$TabCode = array(
   '0' =>  '101000111011101',
   '1' =>  '111010001010111',
   '2' =>  '101110001010111',
   '3' =>  '111011100010101',
   '4' =>  '101000111010111',
   '5' =>  '111010001110101',
   '6' =>  '101110001110101',
   '7' =>  '101000101110111',
   '8' =>  '111010001011101',
   '9' =>  '101110001011101',
   
   'A' =>  '111010100010111',
   'B' =>  '101110100010111',
   'C' =>  '111011101000101',
   'D' =>  '101011100010111',
   'E' =>  '111010111000101',
   'F' =>  '101110111000101',
   'G' =>  '101010001110111',
   'H' =>  '111010100011101',
   'I' =>  '101110100011101',
   'J' =>  '101011100011101',
   'K' =>  '111010101000111',
   'L' =>  '101110101000111',
   'M' =>  '111011101010001',
   'N' =>  '101011101000111',
   'O' =>  '111010111010001',
   'P' =>  '101110111010001',
   'Q' =>  '101010111000111',
   'R' =>  '111010101110001',
   'S' =>  '101110101110001',
   'T' =>  '101011101110001',
   'U' =>  '111000101010111',
   'V' =>  '100011101010111',
   'W' =>  '111000111010101',
   'X' =>  '100010111010111',
   'Y' =>  '111000101110101',
   'Z' =>  '100011101110101',
   
   '-' =>  '100010101110111',
   '.' =>  '111000101011101',
   ' ' =>  '100011101011101',
   '$' =>  '100010001000101',
   '/' =>  '100010001010001',
   '+' =>  '100010100010001',
   '%' =>  '101000100010001',
   '*' =>  '100010111011101'
);

//------------------------------------------------------------------------------

// convertir la chaine en code =================================================
$CodeBar = '';

// tableau des caractères seuls
$TabKeys = array_keys($TabCode);

$TotalChar = 0;
for($i = 0; $i < strlen($TheString); $i++)
{
    $CodeBar .= "0" . $TabCode[$TheString[$i]] . "<br>";
    
    //récupération de l'index du caractère + calcul de la somme des indexes
    foreach($TabKeys as $key => $value) {
        if($value === $TheString[$i]){ $TotalChar += $key;}
    }
}
//------------------------------------------------------------------------------

//calculer le caractère de controle ============================================
$IndexControl = bcmod($TotalChar, 43);
//------------------------------------------------------------------------------

//ajouter le caratère de controle ==============================================
if($AddControl)
{
    $CodeBar.= "0" . $TabCode[$TabKeys[$IndexControl]];
}
//------------------------------------------------------------------------------

//on rajoute * en début et en fin de code ======================================
$xCodeBar = $TabCode["*"] . $CodeBar . "0" . $TabCode["*"];

//------------------------------------------------------------------------------

// dessiner le code barre ======================================================
$c_w = imagecolorallocate($thumb, 255, 255, 255); // blanc
$c_b = imagecolorallocate($thumb, 0, 0, 0); // noir
$x_ref = 0;
for($x=0; $x < strlen($xCodeBar); $x++)
{
    if($xCodeBar[$x] == "1")
    {
        imageline($thumb, $x_ref, 0, $x_ref, 25, $c_b);
    }
    else
    {
        imageline($thumb, $x_ref, 0, $x_ref, 25, $c_w);
    }
    $x_ref++;
}

//------------------------------------------------------------------------------

// Création de l'image définitive ==============================================
$IMG = imagecreatetruecolor($x_ref, 25);
imagefill($IMG, 0, 0, $fond);
imagecopymerge ($IMG, $thumb, 0, 0, 0, 0, 500, 25, 100 );

//------------------------------------------------------------------------------

header("Content-type: image/png");
imagepng($IMG);
?>
 
retest comme cela

Re: code barre qui ne s affiche pas

par coqenpatte » 06 mai 2013, 13:25

Bonjour,

La bibliotheque est bien activé.
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.3
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.46
WBMP Support enabled
XBM Support enabled
Une autre piste ?

j ai essayé sur mon mac, mon pc perso et celui de mon boulot et toujours pareil !

a mon avis, il y quelque chose que je foire ! est ce que le navigateur peu etre en cause ? un bloqueur de pop up (quoique l image qu fourni gosth5922 s affiche sans probleme!)

Re: code barre qui ne s affiche pas

par ghost5922 » 04 mai 2013, 01:25

Bonjour,

si il/elle a recopie le meme code aucune erreur donc sois la lib GD si tu as un lien par pm

Re: code barre qui ne s affiche pas

par moogli » 03 mai 2013, 23:08

Salut


Est ce que tu as bien l'extension GD d'activée ?

Affiche directement le fichier php dans ton navigateur (juste celui qui cré l'image).
Et met en commentaire le header et la ligne suivante tu verra peux être des erreurs.


@+

Re: code barre qui ne s affiche pas

par coqenpatte » 03 mai 2013, 23:02

Merci de te pencher sur mon problème ghost5922,

Je viens de faire ce que tu dis mais le résultat est le même !

je précise que j ai essayé avec des librairies telle qrlib.php ou d autre chose du meme genre mais impossible d 'afficher les codes !

Re: code barre qui ne s affiche pas

par ghost5922 » 03 mai 2013, 14:37

Bonjour,

Test de mettre le code de l'image dans un autre fichier exemple

peux importe le nom du fichier.php
<?php
$string_a_coder = "ThierryGodin";
//mettre control=0 pour ne pas utiliser le caractère de controle
echo "<img src='image.php?string=" . htmlentities($string_a_coder,ENT_QUOTES,"ISO8859-1") . "&control=1'/>";
?>
le second fichier nome le images.php
<?php

if(isset($_GET['string']))
{
    $TheString = preg_replace('¤[^0-9A-Z. $/+%*-]¤', '', strtoupper($_GET['string']));
}
else
{
    $TheString = 'ERREUR';
}

if(isset($_GET['control']) and $_GET['control'] == "1")
{
    $AddControl = TRUE;
}
else{
    $AddControl = FALSE;
}

//------------------------------------------------------------------------------

//création de l'image temporaire ===============================================
$thumb = imagecreatetruecolor(500, 25);
$fond = imagecolorallocate($thumb, 255, 0, 255); // fond
imagefill($thumb, 0, 0, $fond);

//------------------------------------------------------------------------------

// tableau Char -> Code ========================================================
$TabCode = array(
   '0' =>  '101000111011101',
   '1' =>  '111010001010111',
   '2' =>  '101110001010111',
   '3' =>  '111011100010101',
   '4' =>  '101000111010111',
   '5' =>  '111010001110101',
   '6' =>  '101110001110101',
   '7' =>  '101000101110111',
   '8' =>  '111010001011101',
   '9' =>  '101110001011101',
   
   'A' =>  '111010100010111',
   'B' =>  '101110100010111',
   'C' =>  '111011101000101',
   'D' =>  '101011100010111',
   'E' =>  '111010111000101',
   'F' =>  '101110111000101',
   'G' =>  '101010001110111',
   'H' =>  '111010100011101',
   'I' =>  '101110100011101',
   'J' =>  '101011100011101',
   'K' =>  '111010101000111',
   'L' =>  '101110101000111',
   'M' =>  '111011101010001',
   'N' =>  '101011101000111',
   'O' =>  '111010111010001',
   'P' =>  '101110111010001',
   'Q' =>  '101010111000111',
   'R' =>  '111010101110001',
   'S' =>  '101110101110001',
   'T' =>  '101011101110001',
   'U' =>  '111000101010111',
   'V' =>  '100011101010111',
   'W' =>  '111000111010101',
   'X' =>  '100010111010111',
   'Y' =>  '111000101110101',
   'Z' =>  '100011101110101',
   
   '-' =>  '100010101110111',
   '.' =>  '111000101011101',
   ' ' =>  '100011101011101',
   '$' =>  '100010001000101',
   '/' =>  '100010001010001',
   '+' =>  '100010100010001',
   '%' =>  '101000100010001',
   '*' =>  '100010111011101'
);

//------------------------------------------------------------------------------

// convertir la chaine en code =================================================
$CodeBar = '';

// tableau des caractères seuls
$TabKeys = array_keys($TabCode);

$TotalChar = 0;
for($i = 0; $i < strlen($TheString); $i++)
{
    $CodeBar .= "0" . $TabCode[$TheString[$i]] . "<br>";
    
    //récupération de l'index du caractère + calcul de la somme des indexes
    foreach($TabKeys as $key => $value) {
        if($value === $TheString[$i]){ $TotalChar += $key;}
    }
}
//------------------------------------------------------------------------------

//calculer le caractère de controle ============================================
$IndexControl = bcmod($TotalChar, 43);
//------------------------------------------------------------------------------

//ajouter le caratère de controle ==============================================
if($AddControl)
{
    $CodeBar.= "0" . $TabCode[$TabKeys[$IndexControl]];
}
//------------------------------------------------------------------------------

//on rajoute * en début et en fin de code ======================================
$xCodeBar = $TabCode["*"] . $CodeBar . "0" . $TabCode["*"];

//------------------------------------------------------------------------------

// dessiner le code barre ======================================================
$c_w = imagecolorallocate($thumb, 255, 255, 255); // blanc
$c_b = imagecolorallocate($thumb, 0, 0, 0); // noir
$x_ref = 0;
for($x=0; $x < strlen($xCodeBar); $x++)
{
    if($xCodeBar[$x] == "1")
    {
        imageline($thumb, $x_ref, 0, $x_ref, 25, $c_b);
    }
    else
    {
        imageline($thumb, $x_ref, 0, $x_ref, 25, $c_w);
    }
    $x_ref++;
}

//------------------------------------------------------------------------------

// Création de l'image définitive ==============================================
$IMG = imagecreatetruecolor($x_ref, 25);
imagefill($IMG, 0, 0, $fond);
imagecopymerge ($IMG, $thumb, 0, 0, 0, 0, 500, 25, 100 );

//------------------------------------------------------------------------------

header("Content-type: image/png");
imagepng($IMG);
?>
DEMO

code barre qui ne s affiche pas

par coqenpatte » 03 mai 2013, 12:08

Bonjour a tous,

J ai trouver ce code en php pour générer des codes barres mais quand je l exécute j ai une image dechirée qui s affiche.

J ai essayé divers code sur different site mais je arrive jamais a avoir l image qui s affiche, quelqu un a une solution, parce que la je bloque...

Merci d avance

ps : j utilise chrome ou ie et aucun ne marche.
<?php
$string_a_coder = "ThierryGodin";

//mettre control=0 pour ne pas utiliser le caractère de controle
echo "<img src='php-gd-img-barcode-code39.php?string=" . htmlentities($string_a_coder,ENT_QUOTES,"ISO8859-1") . "&control=1'/>";
?>
<?php

if(isset($_GET['string']))
{
    $TheString = preg_replace('¤[^0-9A-Z. $/+%*-]¤', '', strtoupper($_GET['string']));
}
else
{
    $TheString = 'ERREUR';
}

if(isset($_GET['control']) and $_GET['control'] == "1")
{
    $AddControl = TRUE;
}
else{
    $AddControl = FALSE;
}

//------------------------------------------------------------------------------

//création de l'image temporaire ===============================================
$thumb = imagecreatetruecolor(500, 25);
$fond = imagecolorallocate($thumb, 255, 0, 255); // fond
imagefill($thumb, 0, 0, $fond);

//------------------------------------------------------------------------------

// tableau Char -> Code ========================================================
$TabCode = array(
   '0' =>  '101000111011101',
   '1' =>  '111010001010111',
   '2' =>  '101110001010111',
   '3' =>  '111011100010101',
   '4' =>  '101000111010111',
   '5' =>  '111010001110101',
   '6' =>  '101110001110101',
   '7' =>  '101000101110111',
   '8' =>  '111010001011101',
   '9' =>  '101110001011101',
   
   'A' =>  '111010100010111',
   'B' =>  '101110100010111',
   'C' =>  '111011101000101',
   'D' =>  '101011100010111',
   'E' =>  '111010111000101',
   'F' =>  '101110111000101',
   'G' =>  '101010001110111',
   'H' =>  '111010100011101',
   'I' =>  '101110100011101',
   'J' =>  '101011100011101',
   'K' =>  '111010101000111',
   'L' =>  '101110101000111',
   'M' =>  '111011101010001',
   'N' =>  '101011101000111',
   'O' =>  '111010111010001',
   'P' =>  '101110111010001',
   'Q' =>  '101010111000111',
   'R' =>  '111010101110001',
   'S' =>  '101110101110001',
   'T' =>  '101011101110001',
   'U' =>  '111000101010111',
   'V' =>  '100011101010111',
   'W' =>  '111000111010101',
   'X' =>  '100010111010111',
   'Y' =>  '111000101110101',
   'Z' =>  '100011101110101',
   
   '-' =>  '100010101110111',
   '.' =>  '111000101011101',
   ' ' =>  '100011101011101',
   '$' =>  '100010001000101',
   '/' =>  '100010001010001',
   '+' =>  '100010100010001',
   '%' =>  '101000100010001',
   '*' =>  '100010111011101'
);

//------------------------------------------------------------------------------

// convertir la chaine en code =================================================
$CodeBar = '';

// tableau des caractères seuls
$TabKeys = array_keys($TabCode);

$TotalChar = 0;
for($i = 0; $i < strlen($TheString); $i++)
{
    $CodeBar .= "0" . $TabCode[$TheString[$i]] . "<br>";
    
    //récupération de l'index du caractère + calcul de la somme des indexes
    foreach($TabKeys as $key => $value) {
        if($value === $TheString[$i]){ $TotalChar += $key;}
    }
}
//------------------------------------------------------------------------------

//calculer le caractère de controle ============================================
$IndexControl = bcmod($TotalChar, 43);
//------------------------------------------------------------------------------

//ajouter le caratère de controle ==============================================
if($AddControl)
{
    $CodeBar.= "0" . $TabCode[$TabKeys[$IndexControl]];
}
//------------------------------------------------------------------------------

//on rajoute * en début et en fin de code ======================================
$xCodeBar = $TabCode["*"] . $CodeBar . "0" . $TabCode["*"];

//------------------------------------------------------------------------------

// dessiner le code barre ======================================================
$c_w = imagecolorallocate($thumb, 255, 255, 255); // blanc
$c_b = imagecolorallocate($thumb, 0, 0, 0); // noir
$x_ref = 0;
for($x=0; $x < strlen($xCodeBar); $x++)
{
    if($xCodeBar[$x] == "1")
    {
        imageline($thumb, $x_ref, 0, $x_ref, 25, $c_b);
    }
    else
    {
        imageline($thumb, $x_ref, 0, $x_ref, 25, $c_w);
    }
    $x_ref++;
}

//------------------------------------------------------------------------------

// Création de l'image définitive ==============================================
$IMG = imagecreatetruecolor($x_ref, 25);
imagefill($IMG, 0, 0, $fond);
imagecopymerge ($IMG, $thumb, 0, 0, 0, 0, 500, 25, 100 );

//------------------------------------------------------------------------------

header("Content-type: image/png");
imagepng($IMG);
?>