1
8

Téléchargez un QR

Téléchargez le code de la fonction sendget définie dans le fichier sendhttp.php. Copiez le fichier dans l'espace de votre application.

NOTE : Reportez-vous à la page Appelez l'API du service pour une description de la fonction sendget.

URL
https://signmii.com/api/getqr?login=&password=&signmii=&fg=&bg=&quality=&size=
loginVotre code d'identification.
passwordVotre mot de passe.
signmiiLe signmii à encoder dans un QR.
fgCouleur du tracé du QR.
bgCouleur de fond du QR.
qualityNiveau de qualité du QR.
sizeTaille du QR.

signmii est une chaîne de caractères retournée pas l'action getsignmii.

fg et bg ont le format standard RRGGBB en hexadécimal avec ou sans # (DIÈSE).

quality détermine le pourcentage maximum d'erreurs de reproduction du QR. Plus le taux de correction est élevé, plus la taille minimum du QR est importante :

L7%65px
M15%77px
Q25%85px
H33%97px

size multiplie la taille minimum du QR par une valeur entre 1 et 10. EXEMPLE : Un QR pour un signmii de qualité M et d'une taille 2 fera 154 pixels par 154 pixels.

IMPORTANT : Les lecteurs de codes QR fonctionnent mieux si le contraste entre la couleur du tracé du QR et sa couleur de fond est prononcé. Vérifiez avec un smartphone.

Ajoutez le fichier getqr.php avec le contenu suivant :

  1. require_once 'sendhttp.php';

Charge le code de la fonction sendget fournie par iZend.

  1. function getqr($login, $password, $signmii, $fg='#000000', $bg='#ffffff', $quality='M', $size='1') {

Définit la fonction getqr. $login est votre code d'identification. $password est votre mot de passe. $signmii contient le texte du signmii qui sera encodé dans le QR. $fg donne la couleur du tracé du code QR, noir par défaut. $bg donne la couleur du fond du code QR, blanc par défaut. $quality donne le niveau de qualité du code QR, M par défaut. $size donne la taille du code QR, 1 par défaut.

  1.     $curl = 'https://signmii.com/api/getqr';
  2.     $args = array(
  3.         'login'     => $login,
  4.         'password'  => $password,
  5.         'signmii'   => $signmii,
  6.         'fg'        => $fg,
  7.         'bg'        => $bg,
  8.         'quality'   => $quality,
  9.         'size'      => $size,
  10.     );

Met $curl à l'URL de l'action getqr. Remplit le tableau $args avec les paramètres de l'action getqr. NOTE : Remplacez http par https dans l'URL pour chiffrer la communication.

  1.     $response=sendget($curl, $args);

Envoie la requête HTTP avec sendget.

  1.     if (!$response or $response[0] != 200) {
  2.         return false;
  3.     }

Si $response vaut false, le serveur est inaccessible. Si $response[0] ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite. En cas d'erreur, getqr retourne false.

  1.     $r = $response[1]['Content-Disposition'];
  2.     $filename=substr($r, strpos($r, 'filename=')+9);

Extrait le nom de fichier de l'entête de la réponse.

  1.     $data=$response[2];
  2.  
  3.     file_put_contents($filename, $data);

Écrit le corps de la réponse, la représentation binaire de l'image PNG du code QR, dans le dossier courant.

  1.     return $filename;
  2. }

Retourne le nom de fichier.

EXEMPLE

En supposant que vous avez sauvé les fichiers sendhttp.php et getqr.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction getqr et appelez-la avec votre code d'identification, votre mot de passe et le texte d'un signmii en argument :

$ php -a
php > $signmii='uIWPRlfPaB8VgkTHIg8IoTe72WtTLgL_vGoWjY8PfM9fFjwXb8LmvMsMGKVUUTvJOy-z536BC-GMCOaDDdHhcWqGEYyUlXULwwGBXQL7drGnnbTa0H4bCD1YME6H9q7xIdMqlD9pIS-CIAsAo1SYguOhHP9bBlZ_7vk91gmKmxJQi6ril_UlvUmvmjJbUSnoyvDBLPcOWTa0hPDiPKnLifaimHHzkKfLtD9Ck2DAam9G3q3ME0zayVOTTlFdyPsOwvM6SvOMqAi-iBV40Bg5Ky4wKJztDMiCCBCdx3k-jvMfVtZM61MoIDNaICeI59UYE-HL8cPX3CcRphXYdFmRHg';
php > require_once 'getqr.php';
php > echo getqr('abcdef', 'ABCDEF', $signmii);
signmii.png

L'image du QR est dans le fichier signmii.png.

Essayez avec une couleur et une plus grande taille :

php > getqr('abcdef', 'ABCDEF', $signmii, '#aa0000', '#000000', 'L', 8);
php > quit
VOIR AUSSI

Obtenez un signmii et Vérifiez un signmii

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].