Snippet #20 ~ PHP: Stocker facilement des données JSON compressées dans un fichier
lundi 22 octobre 2012 à 08:00Deux petites fonctions très simple pour stocker/déstocker des informations multiples dans un fichier texte
Avantages
- Permet de créer des scripts sans utiliser de base de données (ex: shaarli,codiad,blogotext v1.x,twidoo utilisent cette technique)
- Stocke les données au format JSON, un format léger et structuré de plus en plus utilisé par toutes sorte de langages/programmes
- Compresse au maximum les données avec les fonctions gzdeflate et gzinflate afin de réduire la taille des fichiers et des transferts de données
Code
<?php
function store($file,$datas){file_put_contents($file,gzdeflate(json_encode($datas)));}
function unstore($file){return json_decode(gzinflate(file_get_contents($file)),true);}
?>
Exemple d’utilisation
<?php
$users[0]['name'] = ‘idleman’;
$users[0]['age'] = 25;$users[1]['name'] = ‘other man’;
$users[1]['age'] = 51;store(‘utilisateurs.json.gz’,$users);
$my_users = unstore(‘utilisateurs.json.gz’);echo ‘Mon utilisateur 1 s\’appelle ‘.$my_users[0]->name.’ et a ‘.$my_users[0]->age.’ ans<br/>’;
echo ‘Mon utilisateur 2 s\’appelle ‘.$my_users[1]->name.’ et a ‘.$my_users[1]->age.’ ans<br/>’;
?>