Heim > Backend-Entwicklung > PHP-Tutorial > Wie erstelle und lade ich CSV-Dateien aus PHP-Skripten herunter?

Wie erstelle und lade ich CSV-Dateien aus PHP-Skripten herunter?

Susan Sarandon
Freigeben: 2024-11-12 20:28:02
Original
270 Leute haben es durchsucht

How to Create and Download CSV Files from PHP Scripts?

Erstellen und Herunterladen von CSV-Dateien aus PHP-Skripten

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);
}
Nach dem Login kopieren

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"');
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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");
Nach dem Login kopieren

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);
    }
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage