Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie den PHP-Datenexport

So implementieren Sie den PHP-Datenexport

php中世界最好的语言
php中世界最好的语言Original
2018-05-18 14:45:222584Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie den PHP-Datenexport implementieren, welche Vorsichtsmaßnahmen für die Implementierung des PHP-Datenexports gelten. Das Folgende ist ein praktischer Fall, werfen wir einen Blick darauf.

Die Verwendung ist zunächst sehr einfach, aber wenn die zu exportierenden Daten Zehntausende erreichen, führt dies direkt zu einem Problem mit unzureichendem Speicher.

Dann habe ich mehrere Lösungen gefunden.

Frontend-Lösung

PHP arbeitet mit SheetJS/js-xlsx zusammen, um eine große Menge an Excel-Daten zu exportieren

Der Vorteil dieser Lösung ist dass es keine zusätzlichen Schnittstellen erfordert, aber es hängt von den Front-End-Entwicklern ab.

Export nach CSV

Diese Lösung ist schneller und vollständig im Backend implementiert. Der Nachteil besteht darin, dass das CSV-Format relativ hohe Anforderungen an das exportierte Formular stellt Es handelt sich um reine Daten, die nicht möglich sind. Es gibt Rich-Text-Formen wie Bilder.

Im Folgenden wird hauptsächlich das Exportieren von CSV vorgestellt

Einführung in die offizielle PHP-Dokumentation

<?php
$list = array (
  array(&#39;aaa&#39;, &#39;bbb&#39;, &#39;ccc&#39;, &#39;dddd&#39;),
  array(&#39;123&#39;, &#39;456&#39;, &#39;789&#39;),
  array(&#39;"aaa"&#39;, &#39;"bbb"&#39;)
);
$fp = fopen(&#39;file.csv&#39;, &#39;w&#39;);
foreach ($list as $fields) {
  fputcsv($fp, $fields);
}
fclose($fp);
?>

Vollständiges Beispiel exportieren

<?php
$name = &#39;test&#39;;
header ( "Content-type:application/vnd.ms-excel" );
header ( "Content-Disposition:filename=".$name.".csv" );
header (&#39;Cache-Control: max-age=0&#39;);
//打开PHP文件句柄,php://output 表示直接输出到浏览器
$fp = fopen(&#39;php://output&#39;, &#39;a&#39;);  
// 写入BOM头,防止乱码
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); 
// 生成的测试数据
function test()
{
  for ($i=0; $i < 150000; $i++) {
    yield [&#39;name&#39;, $i, &#39;男&#39;];
  }
}
// 表头
$headers = [&#39;名字&#39;, &#39;年龄&#39;, &#39;性别&#39;];
fputcsv($fp, $headers);
foreach (test() as $value) {
  fputcsv($fp, $value);
}
fclose($fp);
?>

in Laravel In Verbindung mit Chunk können alle Daten einfach und schnell exportiert werden.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der Nutzung des PHP-Namespace

Detaillierte Erläuterung der Nutzung der Datenbankmigration von thinkphp5 migrate

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den PHP-Datenexport. 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