Php - Des QR-codes à la volée avec google
April 1, 2011
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.