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=
login | Votre code d'identification. |
---|---|
password | Votre mot de passe. |
signmii | Le signmii à encoder dans un QR. |
fg | Couleur du tracé du QR. |
bg | Couleur de fond du QR. |
quality | Niveau de qualité du QR. |
size | Taille 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 :
L | 7% | 65px |
M | 15% | 77px |
Q | 25% | 85px |
H | 33% | 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 :
- require_once 'sendhttp.php';
Charge le code de la fonction sendget
fournie par iZend.
- 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.
- $curl = 'https://signmii.com/api/getqr';
- $args = array(
- 'login' => $login,
- 'password' => $password,
- 'signmii' => $signmii,
- 'fg' => $fg,
- 'bg' => $bg,
- 'quality' => $quality,
- 'size' => $size,
- );
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.
- $response=sendget($curl, $args);
Envoie la requête HTTP avec sendget
.
- if (!$response or $response[0] != 200) {
- return false;
- }
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.
- $r = $response[1]['Content-Disposition'];
- $filename=substr($r, strpos($r, 'filename=')+9);
Extrait le nom de fichier de l'entête de la réponse.
- $data=$response[2];
- 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.
- return $filename;
- }
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
Commentaires