5
21

Obtenez un QR

Générer 1 QRmii par programme coûte 1 crédit. Pour acheter des unités de crédit, cliquez sur le chariot Crédit dans le bandeau de votre page d'accueil.

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 le service en PHP pour une description de la fonction sendget.

URL
http://qrmii.com/api/getqr?login=&password=&url=&fg=&bg=&quality=&size=
loginVotre code d'identification.
passwordVotre mot de passe.
urlURL complète à rediriger.
fgCouleur du tracé du QR.
bgCouleur de fond du QR.
qualityNiveau de qualité du QR.
sizeTaille du QR.

url est une chaîne de caractères au format standard scheme://domain:port/path?query#fragment. La partie scheme://domain est obligatoire. scheme vaut en général http. NOTE : url sera normalisé par le programme afin que différentes expressions qui en fait représentent la même URL complète retournent la même URL courte.

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%25px
M15%25px
Q25%29px
H33%33px

size multiplie la taille minimum du QR par une valeur entre 1 et 15. EXEMPLE : Un QRmii de qualité M et d'une taille 4 fera 100 pixels par 100 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é. Générez quelques exemples à partir de la page d'accueil publique et vérifiez que les codes QR sont lisibles 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. define('ROOT_DIR', dirname(__FILE__));
  2. define('QRMII_DIR', ROOT_DIR . DIRECTORY_SEPARATOR . 'qrmii');

Définit le répertoire de sauvegarde du PNG d'un code QR.

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

Définit la fonction getqr. $login est votre code d'identification. $password est votre mot de passe. $url contient l'URL complète qui sera redirigée par le QRmii. $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, 2 par défaut.

  1.     $curl = 'http://qrmii.com/api/getqr';
  2.     $args = array(
  3.         'login'     => $login,
  4.         'password'  => $password,
  5.         'url'       => $url,
  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.

  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);
  3.     $hash=basename($filename, '.png');

Extrait l'URL courte à partir du nom du fichier donné dans l'entête de la réponse.

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

Écrit le corps de la réponse, la représentation binaire de l'image PNG du code QR, dans le dossier défini par la constante QRMII_DIR.

  1.     return $hash;
  2. }

Retourne l'URL courte.

EXEMPLE

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

$ mkdir qrmii
$ php -a
php > require_once 'getqr.php';
php > echo getqr('abcdef', 'ABCDEF', 'http://www.qrmii.com');
a944d525

L'image du QR est dans le fichier qrmii/a944d525.png.

Essayez avec une couleur et une plus grande taille :

php > echo getqr('abcdef', 'ABCDEF', 'http://www.qrmii.com', '#ff9900', '#000000', 'L', 8);
a944d525
php > quit
VOIR AUSSI

Gérez votre compte et Vérifiez votre crédit

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].