Php - Des QR-codes à la volée avec google

Les QR-Codes sont ces pictogrammes un peu étranges qui peuplent de plus en plus le web. Voici comment en générer en php, en utilisant l'api google Charts.

En réalité, les qr-codes ne seront pas  générés "chez vous", mais chez google. Le php nous servira ici à les stocker sur le serveur pour se passer de google une fois les qr codes générés.

 

Dans l'un de ses nombreux très bon articles, websourcing.fr explique comment générer rapidement des qrcodes à l'aide de l'API google charts (cf. http://blog.websourcing.fr/wordpress-qr-code-billets-blog/ ).

Prérequis :

- Créez un dossier "mes_qrcodes", en le chmodant en 755.

 

En extrapolant un peu on obtient :
[sourcecode language="php"]
< ?php

header("content-type:image/png");

ob_start();
$u=$_GET['u'];
$file='mes_qrcodes/'.$u.".png";

if(!is_file($file)){
$f=file_get_contents('http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=http://votre-domaine.com/'.$u);
}
else die(file_get_contents($file));

$out1 = ob_get_contents();
$fp=fopen($file,'a+') or die('unable to touch');
fputs($fp, $f) or die('unable to fput');
fclose($fp);
echo $out1;

?>
[/sourcecode]

En créant un fichier generer_qrcodes.php et en insérant le code ci-dessus, il suffit ensuite d'accèder à generer_qrcodes.php?u=une_page.html pour obtenir un joli qrcode en png, qui sera copié dans le dossier "mes_qrcodes".

 

Pour faire les choses "proprement", quelques lignes dans le htaccess :
RewriteRule ^images/qrcodes/(.+).png$   /generer-qrcode.php?u=$1 [L]

 

Il devient donc possible d'accèder à son qrcodes "auto-générés" via http://votre-domaine.com/images/qrcodes/une-page.html.png

 

Propre, et sympathique.
Gpenverne

Gpenverne

Dév back, symfonien, adore bidouiller des machins pour faire des bidules, sans se poser la question de leur utilité...

Read More