mobileka / liner
Liner is a simple file reader
1.1.0
2016-11-03 07:49 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- mockery/mockery: 0.9.3
- phpunit/phpunit: 4.1.*
- satooshi/php-coveralls: 0.6.1
This package is not auto-updated.
Last update: 2024-11-09 19:04:36 UTC
README
Liner is a fast and dead simple file reader which allows reading files line by line.
It has been tested with a number of huge files including those with more than 5 million rows and proved itself as a fast and efficient file reader.
Requires PHP 5.4 or newer.
Installation
composer require mobileka/liner:1.1.*
And sometimes I find myself looking for this line in installation section:
"mobileka/liner": "1.1.*"
Usage
$liner = new Liner('path/to/a/file'); // or SplFileObject instance // Read the whole file $liner->read(); // Only the first line $liner->read(1); // Only the second line $liner->read(1, 1); // Read 100 lines starting with the 6th line $liner->read(100, 5); // You can also pass a closure as a third argument to mutate the result without iterating over it // Here's how you can read a CSV file: $csvAsArray = $liner->read(0, 0, function($file, $line) { $line = trim($line); return explode(',', $line); }); // A line will be ignored if modifier returns null $anEmptyArray = $liner->read(0, 0, function($file, $line) { return null; }); // almost forgot to mention that you can get the number of lines $liner->getNumberOfLines(); // and that you can also delegate methods to SplFileObject (is it a good idea though?) $liner->eof(); $liner->rewind();
License
Liner is an open-source software and licensed under the MIT License.