Set of PHP 5.4 classes for reading and writing CSV files.
PHP
Switch branches/tags
Nothing to show
Latest commit 352781c Oct 21, 2016 @jwage jwage Merge pull request #34 from itcrab/add-utf8-bom-for-ms-excel
Add utf8 bom for ms excel

README.markdown

EasyCSV

EasyCSV is a simple Object Oriented CSV manipulation library for PHP 5.4+

Build Status Scrutinizer Quality Score Code Coverage Latest Stable Version Total Downloads Dependency Status

Installation

Install via composer:

composer require jwage/easy-csv

Reader

To read CSV files we need to instantiate the EasyCSV reader class:

$reader = new \EasyCSV\Reader('read.csv');

You can iterate over the rows one at a time:

while ($row = $reader->getRow()) {
    print_r($row);
}

Or you can get everything all at once:

print_r($reader->getAll());

If you have a file with the header in a different line:

// our headers aren't on the first line
$reader = new \EasyCSV\Reader('read.csv', 'r+', false);
// zero-based index, so this is line 4
$reader->setHeaderLine(3);

Advance to a different line:

$reader->advanceTo(6);

More in the Reader unit test.

Writer

To write CSV files we need to instantiate the EasyCSV writer class:

$writer = new \EasyCSV\Writer('write.csv');

You can write a row by passing a commas separated string:

$writer->writeRow('column1, column2, column3');

Or you can pass an array:

$writer->writeRow(array('column1', 'column2', 'column3'));

You can also write several rows at once:

$writer->writeFromArray(array(
    'value1, value2, value3',
    array('value1', 'value2', 'value3')
));