PHPプログラムに関する各種メモ書き

PHPでCSVを読み込み、出力(ダウンロード)させるLeague CSV】

◆ 素のPHPでCSV読み込みをする

$file = new SplFileObject($file_path);
$file->setFlags(SplFileObject::READ_CSV);
$convert_count = 0;
foreach ($file as $line) {
    print_r($line);
}

● league/csvを使用してCSVファイルを扱う (要PHP5.5以上)

https://packagist.org/packages/league/csv

● 1. インストール

composerを使用します

composer require league/csv

● 2. 読み込みまたは出力

composerを使用しているので autoload.php を読み込みます

$php_version = (float)phpversion();
if ( $php_version < 5.5 ){ die("league/csv を使用するにはPHP バージョン5.5以上が必要です");}
require APPPATH.'/vendor/autoload.php';
use League\Csv\Reader;
use League\Csv\Writer;

// CSVファイルの読み込み
$csv_reader = Reader::createFromPath('/path/to/your/csv/file.csv');
$headers = $csv_reader->fetchOne();
$res = $csv_reader->setOffset(10)->setLimit(25)->fetchAll();
print_r(res);

// ファイルの出力
$csv_writer = Writer::createFromFileObject(new SplTempFileObject());
$csv_writer->insertOne( array('カラム1','カラム2','カラム3' ) );
$csv_writer->output('users.csv');

No.1012
05/31 10:54

edit

composer
CSV