<?php

namespace App\Traits;

trait CsvSplitable
{
    public function splitCsv($file_path)
    {
        file_put_contents($file_path, mb_convert_encoding(file_get_contents($file_path), 'utf-8', 'sjis-win'));
        $file = new \SplFileObject($file_path);

        $file->setFlags(\SplFileObject::READ_CSV|\SplFileObject::DROP_NEW_LINE|\SplFileObject::SKIP_EMPTY);
        $file->setCsvControl(",", "\"");
        return $file;
    }

    public function splitTsv($file_path)
    {
        file_put_contents($file_path, mb_convert_encoding(file_get_contents($file_path), 'utf-8', 'sjis-win'));
        $file = new \SplFileObject($file_path);

        $file->setFlags(\SplFileObject::READ_CSV|\SplFileObject::DROP_NEW_LINE|\SplFileObject::SKIP_EMPTY);
        $file->setCsvControl("\t", "\"");
        return $file;
    }
}
