Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiert man ein PHP-Array in eine gut formatierte CSV-Datei mit Headern?

Wie konvertiert man ein PHP-Array in eine gut formatierte CSV-Datei mit Headern?

Barbara Streisand
Barbara StreisandOriginal
2024-10-19 18:58:30284Durchsuche

How to Convert a PHP Array to a Well-Formatted CSV File with Headers?

PHP-Array-Konvertierung in CSV: Optimierte Lösung

Das Konvertieren von Arrays in CSV-Dateien in PHP kann mühsam sein. Wenn Sie Schwierigkeiten haben, eine ordnungsgemäß formatierte CSV-Datei zu erstellen, bietet dieser Artikel eine bessere Lösung.

Das Problem: Einzeilige CSV-Datei und kein Header

Bedenken Sie den folgenden Code:

<code class="php">$prods = [1, 2, 3];

foreach ($prods as $prod) {
    $sql = "SELECT * FROM products WHERE id = '$prod'";
    $result = $mysqli->query($sql);
    $info = $result->fetch_array(); 
}

// ... rest of the code</code>

Dieser Code führt möglicherweise zu einer CSV-Datei, die aus einer einzelnen, langen Zeile besteht und nicht dem gewünschten Format mit Überschriften und Zeilenumbrüchen entspricht.

Lösung: Verwendung von fputcsv()

Um dieses Problem zu beheben, ersetzen Sie den Code, der in die CSV-Datei schreibt, durch Folgendes:

<code class="php">$output = fopen("php://output",'w') or die("Can't open php://output");
header("Content-Type:application/csv"); 
header("Content-Disposition:attachment;filename=pressurecsv.csv"); 
fputcsv($output, array('id','name','description'));
foreach($prod as $product) {
    fputcsv($output, $product);
}
fclose($output) or die("Can't close php://output");</code>

Die Funktion fputcsv() verarbeitet automatisch Escapezeichen, Feldtrennzeichen und Zeilenenden und stellt so sicher, dass die CSV richtig formatiert ist .

Zusätzliche Hinweise

  • Verwenden Sie fopen('php://output', 'w') anstatt einen Dateinamen fest zu codieren, um die CSV im Speicher zu erstellen.
  • Legen Sie die entsprechenden Header für den CSV-Download in header() fest.
  • Verwenden Sie fputcsv(), um die Headerzeile und die nachfolgenden Zeilen der CSV zu schreiben.
  • Schließen Sie die Datei am Ende mit fclose().

Das obige ist der detaillierte Inhalt vonWie konvertiert man ein PHP-Array in eine gut formatierte CSV-Datei mit Headern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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