Einführung
Um die Website-Funktionalität zu verbessern, können Sie auf Szenarien stoßen, in denen Sie Sie müssen Daten aus Ihren PHP-Arrays in CSV-Dateien exportieren, damit sie von Benutzern heruntergeladen werden können. Als unerfahrener Programmierer kann es jedoch schwierig sein, zu verstehen, wie diese Aufgabe ausgeführt wird. Dieser Artikel bietet eine umfassende Anleitung, um dieses Ziel effektiv zu erreichen.
Erstellen der CSV-Datei
Um die CSV-Datei aus Ihrem PHP-Array zu generieren, können Sie die integrierte in der Funktion fputcsv():
$f = fopen("tmp.csv", "w"); foreach ($array as $line) { fputcsv($f, $line); }
HTTP-Header konfigurieren
Um den Dialog „Speichern unter“ in Browsern auszulösen, müssen Sie die entsprechenden HTTP-Header angeben:
header('Content-Disposition: attachment; filename="filename.csv"');
Kombination beider Prozesse
Durch die Kombination der CSV-Dateierstellung und der HTTP-Header-Konfiguration können Sie die folgende Funktion generieren:
function array_to_csv_download($array, $filename = "export.csv", $delimiter = ";") { // Open file in memory $f = fopen('php://memory', 'w'); // Generate CSV data foreach ($array as $line) { fputcsv($f, $line, $delimiter); } // Set headers header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="' . $filename . '"'); // Output file fpassthru($f); }
Verwendung
Um diese Funktion zu nutzen, können Sie einfach Ihr PHP-Array und einen Dateinamen angeben:
array_to_csv_download(array( array(1, 2, 3, 4), array(1, 2, 3, 4) ), "numbers.csv");
Alternative Methode
Für eine verbesserte Leistung können Sie php://output anstelle von php://memory verwenden und den Suchvorgang eliminieren:
function array_to_csv_download($array, $filename = "export.csv", $delimiter = ";") { header('Content-Type: application/csv'); header('Content-Disposition: attachment; filename="' . $filename . '"'); // Open output stream $f = fopen('php://output', 'w'); // Generate CSV data foreach ($array as $line) { fputcsv($f, $line, $delimiter); } }
Das obige ist der detaillierte Inhalt vonWie erstelle und lade ich CSV-Dateien aus PHP-Skripten herunter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!