Laavel-Excel에서 만든 CSV를 ZIP로 다운로드

5894 단어 Laravelcsvziptech
라벨-엑셀이 만든 CSV를 ZIP화해 다운로드하는 기능을 구현하고자 메모에 먼저 남긴 것이다.
Laavel-Excel에서 CSV를 제작하기 전에 이미 끝난 것으로 추정됩니다.

샘플 코드


Excel::store(new UserExport(), 'exports/csv/users.csv');
$files = glob(storage_path() . '/app/exports/csv/*');
$zipPath = storage_path() . '/app/exports/zip';
if (!file_exists($zipPath)) {
    File::makeDirectory($zipPath);
}
$zip = new ZipArchive();
$zip->open($zipPath . 'zipデータ.zip', ZipArchive::CREATE);
foreach ($files as $file) {
    $file_info = pathinfo($file);
    $file_name = $file_info['filename'] . '.' . $file_info['extension'];
        $zip->addFile($file, $file_name);
    }
$zip->close();
return response()->download($zipPath . 'zipデータ.zip');
이렇게 하면 storage/app/exports/csv 폴더에 있는 모든 파일을 압축해서 storage/app/exports/zip/users.zip로 저장하고 프론트에 되돌려줍니다.
ZIP 압축은 새로운 프로그램 라이브러리에 넣을 필요가 없기 때문에 나는 매우 놀랐다.
상당히 간단하기 때문에, 만약 사용할 기회가 있다면, 나는 이 샘플 코드를 다시 바꾸고 싶다.

좋은 웹페이지 즐겨찾기