Maison > développement back-end > tutoriel php > Comment générer et télécharger un fichier CSV à partir d'une base de données MySQL en utilisant PHP ?

Comment générer et télécharger un fichier CSV à partir d'une base de données MySQL en utilisant PHP ?

Mary-Kate Olsen
Libérer: 2024-12-10 21:44:18
original
910 Les gens l'ont consulté

How to Generate and Download a CSV File from a MySQL Database using PHP?

Comment créer et télécharger un fichier CSV pour un utilisateur en PHP

Question :

Un utilisateur a demandé à récupérer les données d'une base de données MySQL sous forme de fichier CSV. Comment un script PHP peut-il générer le fichier CSV et inviter l'utilisateur à le télécharger lorsqu'il visite une URL ?

Réponse :

Pour créer et télécharger un fichier CSV dans PHP :

header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");

function outputCSV($data) {
  $output = fopen("php://output", "wb");
  foreach ($data as $row)
    fputcsv($output, $row); // here you can change delimiter/enclosure
  fclose($output);
}

outputCSV(array(
  array("name 1", "age 1", "city 1"),
  array("name 2", "age 2", "city 2"),
  array("name 3", "age 3", "city 3")
));
Copier après la connexion

Explication :

  1. En-tête CSV de sortie :

    • L'en-tête ("Contenu- Type : text/csv") définit le type de contenu sur CSV.
    • Le header("Content-Disposition: attachment; filename=file.csv") définit le nom de fichier pour télécharger le fichier CSV et le type de disposition du contenu (pièce jointe).
  2. Sortie Fonction CSV (outputCSV) :

    • La fonction outputCSV prend un tableau de lignes comme input.
    • Il ouvre un flux pour la sortie vers php://output.
    • Pour chaque ligne, il utilise fputcsv pour écrire la ligne dans le flux. Par défaut, fputcsv utilise la virgule comme délimiteur de champ et les guillemets comme enceinte. Vous pouvez personnaliser ces options selon vos besoins.
    • Enfin, le flux est fermé.
  3. Données CSV de sortie :

    • Le La fonction outputCSV est appelée avec un tableau de lignes de données.
    • Chaque ligne représente un enregistrement de MySQL base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal