logo oujood
🔍

Maîtriser fgetcsv() en PHP : Lecture et manipulation de fichiers CSV

OUJOOD.COM

fgetcsv() fonction php définition

PHP Version: 4.0+
Sécurité binaire : Oui, depuis PHP 4.3.5
PHP Changelog : PHP 5.3 - Ajout du paramètre escape

La fonction fgetcsv() en PHP est utilisée pour lire une ligne depuis un fichier CSV et retourner les données sous la forme d'un tableau indexé.

La fonction fgetcsv() est une fonction native de PHP qui permet de lire une ligne depuis un fichier CSV et de la stocker dans un tableau. Elle est particulièrement utile lorsqu'on souhaite manipuler des fichiers de données structurées sous forme de tableaux.

fgetcsv() fonction php Syntaxe générale

   <?php
    $handle = fopen('chemin/vers/fichier.csv', 'r');
    $row = fgetcsv($handle);
    fclose($handle);
   ?>

fgetcsv() fonction php Paramètres

  • $handle : Le pointeur de fichier retourné par la fonction fopen() qui représente le fichier CSV à lire.

Valeurs possibles

La fonction fgetcsv() retourne un tableau indexé contenant les valeurs de la ligne courante du fichier CSV, ou false si la fin du fichier est atteinte.

fgetcsv() fonction php Exemples pratiques d'utilisation

Supposons que nous avons un fichier CSV nommé "donnees.csv" avec le contenu suivant :

    nom,prenom,age,email
    Dupont,Pierre,30,pierre@example.com
    Martin,Sophie,25,sophie@example.com
  

Voici un exemple d'utilisation de la fonction fgetcsv() pour lire ce fichier :

<?php
    $handle = fopen('donnees.csv', 'r');
    
    // Lire la première ligne (en-tête) et l'ignorer
    fgetcsv($handle);

    // Lire les données pour chaque ligne restante
    while (($row = fgetcsv($handle)) !== false) {
      // Utiliser les données pour effectuer des opérations
      $nom = $row[0];
      $prenom = $row[1];
      $age = $row[2];
      $email = $row[3];

      // Faire quelque chose avec les données...
    }

    fclose($handle);
  ?>

Voici plus d'exemples pratiques d'utilisation et des cas d'utilisation spécifiques de la fonction fgetcsv() en PHP :

Importer des données dans une base de données :

Supposons que vous ayez un fichier CSV contenant des informations sur les produits à importer dans votre base de données. Vous pouvez utiliser fgetcsv() pour lire les lignes du fichier CSV et insérer les données dans la base de données.

Exemple :     📋 Copier le code

<?php
$handle = fopen('produits.csv', 'r');
// Ignorer l'en-tête
fgetcsv($handle);

while (($row = fgetcsv($handle)) !== false) {
    // Insérer les données dans la base de données
    $nom = $row[0];
    $prix = $row[1];
    $stock = $row[2];

    // Effectuer une requête SQL d'insertion ici...
}

fclose($handle);
?>

Traitement de données de rapport :

Imaginons que vous ayez un fichier CSV avec des données de ventes et que vous souhaitiez générer un rapport pour le mois en cours. Vous pouvez utiliser fgetcsv() pour lire les données et effectuer des calculs pour le rapport.

Exemple :     📋 Copier le code

<?php
$handle = fopen('ventes.csv', 'r');
// Ignorer l'en-tête
fgetcsv($handle);

$totalVentes = 0;
while (($row = fgetcsv($handle)) !== false) {
    $montantVente = $row[1]; // Supposons que le montant de vente se trouve à l'index 1
    $totalVentes += floatval($montantVente);
}

fclose($handle);

// Afficher le rapport
echo "Total des ventes du mois en cours : $totalVentes";
?>

Validation des données du fichier CSV :

Avant de traiter les données d'un fichier CSV, vous pouvez utiliser fgetcsv() pour valider les entrées et vous assurer que les données sont conformes à vos attentes.

Exemple :     📋 Copier le code

<?php
$handle = fopen('donnees.csv', 'r');
// Ignorer l'en-tête
fgetcsv($handle);

while (($row = fgetcsv($handle)) !== false) {
    // Vérifier les données et effectuer des opérations de validation
    $nom = $row[0];
    $age = intval($row[2]);

    if ($age < 18) {
        // Ne pas traiter les entrées pour les utilisateurs mineurs
        continue;
    }

    // Effectuer des opérations avec les données...
}

fclose($handle);
?>

fgetcsv() fonction php Astuces et conseils d'utilisation

  • Pensez à toujours vérifier si la fonction fgetcsv() renvoie false pour déterminer si vous avez atteint la fin du fichier.
  • Assurez-vous que le fichier CSV existe et est accessible en lecture.
  • Il est recommandé de spécifier le délimiteur de champ (par défaut la virgule) si votre fichier CSV utilise un autre délimiteur, en utilisant la fonction fgetcsv() avec un troisième argument pour définir le délimiteur.
  • Nettoyez et validez les données lues depuis le fichier CSV pour éviter les problèmes de sécurité.

Avec la fonction fgetcsv(), vous pouvez facilement lire et manipuler des fichiers CSV en PHP, ce qui est particulièrement utile lors du traitement de grandes quantités de données tabulaires.