在CMS中使用PHP创建和下载干净的CSV

问题描述

我正在使用Concrete5 CMS,并且试图允许用户下载一部分其他用户(他们邀请的用户)。

为此,我要制作一个页面并使用以下内容

  $new_csv = fopen('members.csv','w');
  $array = array("foo","bar","hello","world"); // For testing
  fputcsv($new_csv,$array);
  fclose($new_csv);

  header("Content-type: text/csv");
  header("Content-disposition: attachment; filename = members.csv");
  readfile("members.csv");

我遇到的问题是这是写整个页面。有没有办法不用标题就可以做到这一点?我的方法可能完全不可行,因此,如果有更好的方法可以实现这一目标,请告诉我。

解决方法

您可以使用Core::make('app')->shutdown();来解决此问题。

但是为了更好地进行出口- 检查\Concrete\Controller\SinglePage\Dashboard\Users\Search::csv_export()方法。 这将是非常相似的。只需将过滤的用户列表设置为$writer->insertList($list)方法即可。