Qu'est-ce que CSV et pourquoi travailler avec en PHP ?
CSV (Comma-Separated Values) est un format de stockage de données tabulaires où les lignes sont séparées par des sauts de ligne et les colonnes par des virgules ou d'autres délimiteurs. En PHP, le travail avec CSV est nécessaire pour l'import/export de données depuis Excel, Google Sheets, les systèmes CRM, ainsi que pour le traitement de logs et l'échange de données entre services. La bibliothèque standard de PHP fournit des outils puissants pour lire et écrire des CSV sans installer de modules supplémentaires.
Fonctions principales pour travailler avec CSV
PHP dispose de fonctions intégrées : fgetcsv() — lecture d'une ligne CSV depuis un fichier, fputcsv() — écriture d'un tableau au format CSV, ainsi que la classe SplFileObject qui simplifie l'itération sur les fichiers CSV. Pour travailler en mémoire, on peut utiliser str_getcsv() pour analyser une chaîne sans fichier.
Installation
Aucune installation supplémentaire n'est nécessaire, car ces fonctions font partie du noyau PHP. Pour travailler avec CSV, il suffit d'activer le support des opérations sur les fichiers (généralement activé par défaut).
Fonctions principales et leur utilisation
- fgetcsv($handle, $length, $delimiter, $enclosure, $escape) — lit une ligne d'un fichier ouvert et retourne un tableau de champs.
- fputcsv($handle, $fields, $delimiter, $enclosure, $escape) — écrit un tableau sous forme de ligne CSV dans un fichier.
- str_getcsv($input, $delimiter, $enclosure, $escape) — analyse une chaîne CSV sans fichier.
- SplFileObject::fgetcsv() — méthode pour lire du CSV dans un style orienté objet.
Exemple de code PHP
<?php// Lecture d'un fichier CSV$filename = 'data.csv';if (($handle = fopen($filename, 'r')) !== false) { while (($data = fgetcsv($handle, 1000, ',')) !== false) { echo 'Nom : ' . $data[0] . ', Email : ' . $data[1] . '<br>'; } fclose($handle);}
// Écriture dans un CSV$list = [ ['Ivan', 'ivan@example.com'], ['Maria', 'maria@example.com']];$handle = fopen('output.csv', 'w');foreach ($list as $fields) { fputcsv($handle, $fields);}fclose($handle);
// Utilisation de SplFileObject$file = new SplFileObject('data.csv');$file->setFlags(SplFileObject::READ_CSV);foreach ($file as $row) { print_r($row);}?>Quand utiliser
La bibliothèque convient pour : l'import de produits depuis Excel dans une boutique en ligne, l'export de rapports, le traitement de contacts depuis un CRM, le chargement de données depuis Google Sheets via l'export en CSV, ainsi que pour la migration de données entre systèmes. Pour les gros fichiers, il est recommandé d'utiliser les itérateurs SplFileObject ou la lecture ligne par ligne afin d'éviter un débordement de mémoire.
Conclusion
Les outils intégrés de PHP pour travailler avec CSV sont une solution fiable et rapide pour la plupart des tâches. Ils ne nécessitent pas l'installation de bibliothèques supplémentaires, supportent différents délimiteurs et échappements, et s'intègrent facilement avec les bases de données et les formulaires web. Si vous devez traiter du CSV en PHP, commencez par fgetcsv() et fputcsv() — c'est le standard de facto.
Aussi dans la bibliothèque
Travailler avec CSV dans Node.js : bibliothèques csv-parser et csv-writer
Travailler avec Kafka en Rust : bibliothèques et exemples pour débutants
Conan C++ : guide complet avec exemples pratiques
Tests en C++ : aperçu des frameworks et outils (Google Test, Catch2, doctest)
Mise en cache en C++ : Redis, memcached, LevelDB et autres outils