format('Y-m-d_H-i-s') . '.csv'; $filePath = $exportPath . '/' . $filename; $fileHandle = fopen($filePath, 'w'); fputcsv($fileHandle, ['Имя', 'Фамилия', 'Телефон', 'E-mail']); User::select('id', 'name', 'surname', 'phone_number', 'email') ->chunkById(30000, function ($users) use ($fileHandle) { $chunkHandle = fopen('php://memory', 'r+'); foreach ($users as $user) { fputcsv($chunkHandle, [ $user->name, $user->surname, $user->phone_number, $user->email, ]); } rewind($chunkHandle); $csvData = stream_get_contents($chunkHandle); fclose($chunkHandle); fwrite($fileHandle, $csvData); }); fclose($fileHandle); Cache::forever('export_status', 'standby'); Cache::forever('last_export_file', 'exports/' . $filename); } catch (Throwable $e) { Cache::forever('export_status', 'failed'); report($e); throw $e; } } }