fopen
$handle = fopen('test.csv', 'rb');
stream_filter_append($handle, 'convert.iconv.CP932/UTF-8//TRANSLIT', STREAM_FILTER_READ);
while (($line = fgets($handle)) !== false) {
$row = str_getcsv($line);
}
SplFileObject
$splFile = new SplFileObject('php://filter/read=convert.iconv.CP932%2FUTF-8%2F%2FTRANSLIT/resource=test.csv');
$splFile->setFlags(
SplFileObject::READ_CSV |
SplFileObject::READ_AHEAD |
SplFileObject::SKIP_EMPTY |
SplFileObject::DROP_NEW_LINE
);
foreach ($splFile as $row) {
}
どちらを使うか?
- CSV ファイルに改行がある場合は
SplFileObject