【发布时间】:2020-12-04 21:45:26
【问题描述】:
Halo 伙计们,我是 laravel 的新手。我现在使用 laravel 6。现在我正在生成 CSV 文件并通过电子邮件发送。
问题是:
- 我仍然对如何生成 CSV 文件并将其放入服务器文件夹感到困惑。假设我想将 CSV 文件保存到我的服务器文件夹 public/export/
- 如何通过电子邮件发送生成的 CSV 文件?
这就是我所做的
$reports = User::all()->get();
$rows = [];
foreach ($reports as $key => $value) {
$rows[$key]['id'] = $value->social_media_id;
$rows[$key]['name'] = $value->name;
$rows[$key]['address'] = $value->address;
$rows[$key]['phone'] = $value->phone;
}
$fileName = 'file.csv';
$headers = [
"Content-type" => "text/csv",
"Content-Disposition" => "attachment; filename=" . $fileName,
"Pragma" => "no-cache",
"Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
"Expires" => "0"
];
$columnNames = [
'ID',
'name',
'address',
'phone'
];
$callback = function() use ($columnNames, $rows ) {
$file = fopen('php://output', 'w');
fputcsv($file, $columnNames);
foreach ($rows as $row) {
fputcsv($file, $row);
}
fclose($file);
};
return response()->stream($callback, 200, $headers));
如何修改此代码以将 Generate CSV 文件存储在我的服务器文件夹中 public/export/ 的位置?
然后我如何通过电子邮件发送?
请指教。
【问题讨论】:
-
有运气吗?
-
还没有解决