Maison >développement back-end >tutoriel php >Comment implémenter l'exportation de données PHP
Cette fois, je vais vous montrer comment implémenter l'exportation de données PHP, quelles sont les précautions pour l'implémentation de l'exportation de données PHP, ce qui suit est un cas pratique, jetons un coup d'œil.
Il est très simple à utiliser au début, mais lorsque les données à exporter atteignent des dizaines de milliers, cela provoquera directement le problème de mémoire insuffisante.
Ensuite j'ai trouvé plusieurs solutions.
Solution Front-end
PHP coopère avec SheetJS/js-xlsx pour exporter une grande quantité de données Excel
L'avantage de cette solution est qu'il ne nécessite pas d'interfaces supplémentaires, mais cela dépend des développeurs front-end.
Exporter vers csv
Cette solution est plus rapide et entièrement implémentée en back-end. L'inconvénient est que le format csv a des exigences relativement élevées sur le formulaire exporté, et le. l'exigence est des données pures, ce qui ne peut pas être le cas. Il existe des formes de texte riches telles que des images.
Ce qui suit présente principalement comment exporter au format CSV
Introduction à la documentation officielle php
<?php $list = array ( array('aaa', 'bbb', 'ccc', 'dddd'), array('123', '456', '789'), array('"aaa"', '"bbb"') ); $fp = fopen('file.csv', 'w'); foreach ($list as $fields) { fputcsv($fp, $fields); } fclose($fp); ?>
Exporter un exemple complet
<?php $name = 'test'; header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:filename=".$name.".csv" ); header ('Cache-Control: max-age=0'); //打开PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen('php://output', 'a'); // 写入BOM头,防止乱码 fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // 生成的测试数据 function test() { for ($i=0; $i < 150000; $i++) { yield ['name', $i, '男']; } } // 表头 $headers = ['名字', '年龄', '性别']; fputcsv($fp, $headers); foreach (test() as $value) { fputcsv($fp, $value); } fclose($fp); ?>
L'utiliser avec chunk dans Laravel peut exporter facilement et rapidement toutes les données.
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Explication détaillée de l'utilisation de l'espace de noms PHP
Explication détaillée de l'utilisation de la migration de la base de données thinkphp5 migrate
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!