CSV (Comma Separated Values) ist eine der gebräuchlichsten Methoden zum Übertragen von Tabellendaten zwischen Anwendungen. Das Erstellen von Code zum Exportieren von Daten in CSV kann in vielen Anwendungen sehr nützlich sein. Der folgende Artikel zeigt Ihnen, wie Sie PHP zum Erstellen von CSV-Dateien verwenden. Ich hoffe, er ist hilfreich für Sie.
Das Folgende ist eine detaillierte Einführung anhand von Codebeispielen:
Erstellen einer CSV-Datei mit statischen Daten
Wenn Sie die Daten in einer CSV-Datei speichern möchten, können Sie Code ähnlich dem folgenden verwenden:
<?php // 创建并打开“demosaved.csv”文件进行写入 $file = fopen('demosaved.csv', 'w'); // 保存列标题 fputcsv($file, array('Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5')); // 样本数据,这可以从MySQL中获取 $data = array( array('Data 11', 'Data 12', 'Data 13', 'Data 14', 'Data 15'), array('Data 21', 'Data 22', 'Data 23', 'Data 24', 'Data 25'), array('Data 31', 'Data 32', 'Data 33', 'Data 34', 'Data 35'), array('Data 41', 'Data 42', 'Data 43', 'Data 44', 'Data 45'), array('Data 51', 'Data 52', 'Data 53', 'Data 54', 'Data 55') ); // 保存每一行数据 foreach ($data as $row) { fputcsv($file, $row); } // 关闭文件 fclose($file); ?>
Codebeschreibung
Zeile 3: Öffnen Datei mit dem Namen „demosaved.csv“ zum Schreiben. Stellen Sie sicher, dass der Server an den Speicherort dieser Datei schreiben kann
Zeile 6: Spaltenüberschriften hinzufügen. Wenn Sie keine Spaltenüberschriften wünschen, können Sie diesen Schritt überspringen.
Zeilen 9-15: Stellt die Daten dar, die in der Datei gespeichert werden sollen. Wenn Sie Daten von MySQL abrufen möchten, müssen Sie Code verwenden, um eine Verbindung zur Datenbank herzustellen und die Daten abzurufen. Ersetzen Sie dann diese Zeilen durch
Zeilen 17–21: Durchlaufen Sie jede Datenzeile und speichern Sie die Daten
Zeile 24: Schließen Sie die Datei. Nachdem wir alle Daten in die Datei geschrieben haben, müssen wir die Datei schließen.
Daten von MySQL abrufen, um CSV-Dateien zu erstellen und automatisch herunterzuladen
<?php // 设置输出标头,以便下载文件 header('Content-type: text/csv'); header('Content-Disposition: attachment; filename="demo.csv"'); // 不缓存文件 header('Pragma: no-cache'); header('Expires: 0'); // 创建连接到输出流的文件指针 $file = fopen('php://output', 'w'); // 打开数据库连接 $link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db'); //查询数据库 $query = 'SELECT field1, field2, field3, field4, field5 FROM table'; if ($rows = mysqli_query($link, $query)) { // 保存每一行数据 while ($row = mysqli_fetch_assoc($rows)) { fputcsv($file, $row); } //自由结果集 mysqli_free_result($result); } // 关闭连接 mysqli_close($link); ?>
Codebeschreibung:
Da wir die Datei herunterladen möchten, müssen wir einige Header (Zeilen 3 und 4) senden, die den Browser anweisen, die Datei herunterzuladen.
Zeile 3: Teilen Sie dem Browser mit, dass der MIME-Typ des Inhalts text/csv ist, da wir eine CSV-Datei senden.
Zeile 4: Senden Sie den Header „Content-Disposition“ mit Der Wert ist „attachment“ und der Dateiname ist „demo.csv“. Dadurch wird der Browser angewiesen, eine Datei namens „demo.csv“ herunterzuladen, anstatt sie anzuzeigen.
Zeilen 7 und 8: Weisen Sie den Browser an, die Datei nicht zwischenzuspeichern. Dies ist nützlich, wenn wir mehrere Dateien mit demselben Namen senden, andernfalls ist dies nicht erforderlich
Zeile 11: Stellt das Öffnen des Dateizeigers zum Senden von Daten dar
Zeile 14 ~ Zeile 30: Von mysql Get Daten
Hinweis: Sie müssen sicherstellen, dass Sie die Verbindungsparameter und Abfragen der Datenbank ändern. Darüber hinaus ist dieser datenbankbezogene Code nur ein Beispiel. In einer echten Anwendung befindet es sich möglicherweise in einer anderen Datei und es sollte auch eine Fehlerbehandlung vorhanden sein.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine CSV-Datei mit PHP? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!