PROJET AUTOBLOG


Idleman

source: Idleman

⇐ retour index

Snippet #20 ~ PHP: Stocker facilement des données JSON compressées dans un fichier

lundi 22 octobre 2012 à 08:00

Deux petites fonctions très simple pour stocker/déstocker des informations multiples dans un fichier texte

Avantages

  1. Permet de créer des scripts sans utiliser de base de données (ex: shaarli,codiad,blogotext v1.x,twidoo utilisent cette technique)
  2. Stocke les données au format JSON, un format léger et structuré de plus en plus utilisé par toutes sorte de langages/programmes
  3. 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/>’;
?>