【Laravel】CSVファイルを読み込むサンプルコード

laravel Laravel

LaravelでCSVファイルをインポートしたいときの方法をメモしておきます。

スポンサーリンク

サンプルコード

このままコピペして使えばOKです。

name:csvでPOSTされたCSVファイルを扱うサンプルとなっています。

        // CSVファイルを取得する
        $tmp = mt_rand() . "." . $request->file('csv')->guessExtension(); 
        $request->file('csv')->move(public_path() . "/tmp", $tmp);
        $filepath = public_path() . "/tmp/" . $tmp;

        // CSV取得
        $file = new \SplFileObject($filepath);
        $file->setFlags(
            \SplFileObject::READ_CSV | 
                \SplFileObject::READ_AHEAD |
                \SplFileObject::SKIP_EMPTY |
                \SplFileObject::DROP_NEW_LINE 
        );
        //各行を処理する
        foreach ($file as $line) {

        echo $line[0]; //1列目
        echo $line[1]; //2列目
                  //......以下略

        }
        // 一時ファイルを削除する
        unlink($filepath);
スポンサーリンク

注意点

CSVファイルの文字コードはUTF-8とすること。Shift_JISでは取り込む際にエラーとなる。

コメント

タイトルとURLをコピーしました