PHP无法导出CSV

时间:2019-09-19 20:04:20

标签: php csv export fputcsv

我正在尝试使用php导出csv文件。下面是我的代码,但是不起作用。

$filename = "csvtest.csv";
        $headers = array(
            'Content-Type' => 'application/csv;charset=UTF-8',
            'Content-Disposition: attachment;filename='.$filename,
        );

        $handle = fopen('php://output', 'w');
        fputcsv($handle, [
            "title1",
            "title2",
            "title3",
            "title4",
            "title5",
            "title6",
            "title7"
        ]);

        $dataset = DB::table('table')->where('id', $request['id'])->get();
        foreach ($dataset as $data) {
            fputcsv($handle, [
                $data->id1,
                $data->id2,
                $data->date3,
                $data->date4,
                $data->date5,
                $data->date6,
                $data->date7
            ]);
        }

        fclose($handle);

        return Response::download($filename, "csvtest.csv", $headers);

前端:

<td><v-btn @click="exportCsv(item['Id'])">CSV</v-btn></td>

Vue.js

methods: {
async exportCsv(id) {
                this.axios.post('/api/csv', {
                    'id': id,
                })
            }
}

如果我将fopen('php://output', 'w');更改为fopen('.../export/csvFolders', 'w'); 它将导出到csvFolders,但是我需要手动另存为csv文件。

对于输出,理想的情况是能够自己选择文件夹,然后将csv文件保存到选定的文件夹中。

0 个答案:

没有答案