Php 使用laravel生成csv文件

Php 使用laravel生成csv文件,php,laravel,Php,Laravel,我在google中搜索,从laravel生成csv文件,并找到以下代码: public function download(){ $headers = [ 'Cache-Control' => 'must-revalidate, post-check=0, pre- check=0' , 'Content-type' => 'text/csv' , 'Content-Disposition' => 'attac

我在google中搜索,从laravel生成csv文件,并找到以下代码:

  public function download(){
  $headers = [
    'Cache-Control'       => 'must-revalidate, post-check=0, pre-  check=0'
    ,   'Content-type'        => 'text/csv'
    ,   'Content-Disposition' => 'attachment; filename=galleries.csv'
    ,   'Expires'             => '0'
    ,   'Pragma'              => 'public'
   ];

$list = User::all()->toArray();

# add headers for each column in the CSV download
array_unshift($list, array_keys($list[0]));

$callback = function() use ($list) 
{
    $FH = fopen('php://output', 'w');
    foreach ($list as $row) { 
        fputcsv($FH, $row);
    }
    fclose($FH);
 };

return Response::stream($callback, 200, $headers);
}
在上面的代码中,我不明白

$callback = function() use ($list){...}

有人能给我解释一下吗?

省去你的麻烦,使用这个图书馆:

它可以将您的数据转换为csv、excel和所有其他类型的好东西。对于更大的数据集,它特别好

因为当你在同一个操作系统上的同一个程序中打开你的csv时,一切都很有趣。但一旦你的客户使用Libre、Open或Office-op-MS或Mac,你的世界将在多个层面进入新的地狱深处


这个库尽可能地标准化csv,你会喜欢它的。

我最近发现了“”包-在这里写了一篇关于我用法的S.O帖子(一个简单的例子):

它正在创建一个函数并将该函数分配给一个变量;然后将该变量作为参数传递给
Response::stream()
,并且
Response::stream()
将能够执行该函数我强烈建议使用Laravel Excel-它为您正在寻找的功能提供了一个很好的包装器。感谢您的宝贵意见