Maxy.fr

Enregistrer un tableau PHP dans un fichier

Il est parfois utile d'enregistrer dans un fichier des données en provenance d'un code PHP.

Sachez qu'il est plutôt simple d'enregistrer un tableau de données dans un fichier en utilisant la fonction serialize().

 

Voici le code permettant d'enregistrer les données :

$ref = array(
     array(
          'date' => time(),
          'ref' => '564168456156'
     ),
     array(
          'date' => time(),
          'ref' => '488489468184'
     )
);

$ref = serialize($listeRef);

file_put_contents('/chemin/fichier', $ref);

On utilise donc la fonction serialize qui permettra de transformer le tableau en chaîne de caractères afin qu'il soit possible de le stoquer.

Avec file_put_contents() on enregistre simplement les données dans un fichier choisi.

 

Ensuite, si vous souhaitez pouvoir lire les données stoquées dans le tableau, vous pourrez procéder de la sorte :

$data = file_get_contents('/chemin/fichier');
$data = unserialize($data);

echo $data[0]['date'];

Pour recréer notre tableau, on utilise donc la fonction unserialize(). On peut ensuite lire notre tableau comme à l'origine.

Catégories : PHP

Par Guillaume le 27/04/2016 à 13:21

Partager l'article :

Articles similaires

Trier un tableau multidimensionnel en PHP

Il arrive parfois que l'on doivent trier un tableau contenant d'autres tableau suivant des valeurs pas directement accessibles. En soit on se retrouve bloqué car les fonctions de tries classique (asort(), ksort() ...) ne permettent pas de trier comme on le souhaite notre tableau. Sachez...

Utiliser la programmation pour résoudre un problème mathématiques

Vous avez sûrement entendu parlé de cet exercice de mathématiques qui fait tant parler de lui depuis quelques jours sur internet. Cet exercice a priori simple qu'un professeur Vietnamien a donné à faire à ses élèves d'une classe...

Lire plusieurs fois toutes les données récupérées avec fetch en PDO

Vous connaissez tous la méthode suivante pour lire une série de données enregistrées via MySQL : $listeRep = $bdd->query("SELECT * FROM registre ORDER BY id DESC"); while($listeData = $listeRep->fetch()) { echo $listeData['nom']; }   Vous...