Maison >développement back-end >tutoriel php >Comment télécharger un fichier CSV à partir d'un tableau PHP ?
Comment créer et télécharger un fichier CSV à partir d'un script PHP
Créer et télécharger un fichier CSV à partir d'un tableau PHP est une technique utile dans le développement de sites Web. Voici un guide détaillé pour les programmeurs débutants :
Création du fichier CSV
Exemple :
$array = [ ['fs_id' => '4c524d8abfc6ef3b201f489c', 'name' => 'restaurant', ...], // More array elements... ]; $delimiter = ','; $csv = fopen('tmp.csv', 'w'); foreach ($array as $line) { fputcsv($csv, $line, $delimiter); }
Téléchargement du fichier CSV
header('Content-Disposition: attachment; filename="filename.csv"'); header('Content-Type: text/csv');
fseek($csv, 0); // Reset the file pointer to the start fpassthru($csv);
Mettre tout cela ensemble
La fonction suivante combine les deux étapes et vous permet de télécharger un fichier CSV à partir d'un array :
function array_to_csv_download($array, $filename = 'export.csv', $delimiter = ',') { // Set HTTP headers header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Content-Type: text/csv'); // Create a file pointer $csv = fopen('php://memory', 'w'); // Loop through the array and create CSV lines foreach ($array as $line) { fputcsv($csv, $line, $delimiter); } // Send the generated CSV to the browser fpassthru($csv); }
Utilisation :
$array = [ ['fs_id' => '4c524d8abfc6ef3b201f489c', 'name' => 'restaurant', ...], // More array elements... ]; array_to_csv_download($array, 'restaurants.csv'); // The CSV file will be downloaded to the user's computer.
Remarque supplémentaire :
Comme alternative à l'utilisation de php : //mémoire, vous pouvez également utiliser php://output pour le descripteur de fichier, ce qui peut être plus efficace pour les gros fichiers. ensembles de données.
Cette méthode fournit un moyen simple de créer et de télécharger des fichiers CSV à partir de tableaux PHP, ce qui en fait un outil précieux pour les développeurs de sites Web.
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!