Download the PHP package mhitza/file-enumerators without Composer
On this page you can find all versions of the php package mhitza/file-enumerators. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mhitza/file-enumerators
More information about mhitza/file-enumerators
Files in mhitza/file-enumerators
Package file-enumerators
Short Description File streaming and preprocessing library (via generators)
License Apache-2.0
Informations about the package file-enumerators
File Enumerators
File streaming library (via generators), for line by line readers and CSV parsing (other specializations may come up at some point).
It's important to remember that generators are forward-only iterators. For that you should take note that in the example
code I'm calling enumerate()
inside the foreach
construct instead of assigning it to a variable, and iterating over that
variable. That is the safe way of iterating over a generator, since enumerate()
is the Generator
builder, UNLESS you want
to constrain single passes over the streams, in which case binding the generator to a variable is prefered.
Install
Available as a composer package, requires PHP >=5.5.0
Example usage
Line by line reader
a.k.a. how the classic fgets function usage translates in this library
CSV reader - simple
CSV reader - more complex
Consider a CSV file that has 5 columns, yet we are only interested in the first, third and fifth column. Also we want to have semantically adequate keys for those columns instead of numbers. And maybe our fifth has a set of numbers separated by a dash, that we want to sum up.
Or the personally prefered variant where everything is bundled up in a single builder set.
Directory listing
A very small wrapper around DirectoryIterator to list files in a given directory (ignores directories and dot files)