如何将PHP Spreadsheet生成的CSV文件保存至指定save文件夹
解决PHP Spreadsheet生成CSV保存到指定文件夹的问题
要将生成的CSV保存到save文件夹,你需要完成以下操作,同时先修正原代码里的语法错误:
1. 修正原代码的语法问题
你的$header数组存在两处错误:
- 最后一个字段
"Horas未闭合引号 - 数组元素格式混乱(存在换行和未闭合的字符串)
修正后的$header数组:
$header = [ "Name", "Age", "direction", "profession", "Total", "Asistencia", "Horas" ];
2. 确保save文件夹存在
如果目标文件夹不存在,PHP会抛出写入失败的错误,所以先判断并创建文件夹:
// 检查save文件夹是否存在,不存在则创建(0755为文件夹权限,true支持创建多级目录) if (!is_dir('save')) { mkdir('save', 0755, true); }
3. 修改保存路径
将save()方法里的文件名改为save/myarchive.csv,指定保存到save文件夹下。
完整可运行代码
$header = [ "Name", "Age", "direction", "profession", "Total", "Asistencia", "Horas" ]; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->fromArray($header, NULL, 'A1') ->fromArray($reporteCoach, NULL, 'A2'); // 确保save文件夹存在 if (!is_dir('save')) { mkdir('save', 0755, true); } $writer = new Csv($spreadsheet); $writer->save("save/myarchive.csv");
额外注意
- 如果
save文件夹不在当前脚本的同级目录,需要调整路径,比如上级目录写../save/myarchive.csv,绝对路径写/var/www/html/save/myarchive.csv - 确保PHP进程对
save文件夹有写入权限,否则会出现权限拒绝错误
内容的提问来源于stack exchange,提问作者jose de jesus
相关产品推荐
相关产品推荐

