Создайте файл CSV и отправьте его по электронной почте laravel - PullRequest
1 голос
/ 27 мая 2020

Halo, ребята, я новенький для laravel. Я использую laravel 6 прямо сейчас. Сейчас я создаю файл CSV и отправляю его по электронной почте.

проблема:

  1. Я все еще не понимаю, как я могу сгенерировать файл CSV и поместить его в папку сервера. скажем, что я хочу сохранить CSV-файл в папке моего сервера public / export /
  2. Как мне отправить сгенерированный CSV-файл по электронной почте .?

вот что у меня есть done

        $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 /?

, а затем как я могу отправить его по электронной почте?

посоветуйте пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...