Allows easy Read(not yet) and write of fixed width file.
They are not nice, they are not easy to read but sometimes you just need them.
Firs let's create our file :
$writer = new Writer('/tmp/file.txt', ' ', STR_PAD_LEFT);
First parameter is the name of the file to write Then we have the padding character, by default it is empty. Last we have the direction to pad. right or left.
Now we will declare our columns :
$writer->getHeader() ->addColumn(4, 'year') ->addColumn(2, 'month') ->addColumn(2, 'day') ->addColumn(20, 'name') ->addColumn(100, 'description')
Once all this is done we can add data :
// First line $data = array(); $data['year'] = 2016; $data['month'] = 02; $data['day'] = 15; $data['description'] = "This is a description" ; $writer->writeLine($data); // second line $data = array(); $data['year'] = 2016; $data['month'] = 02; $data['day'] = 1; $data['description'] = "This is a description2" ; $writer->writeLine($data);
End finish the write
This will create a file looking like this :
20160215This is a description 201602 1This is a description2
The library will write every line as it comes, it was built for handling huge amounts of data and therfore doesen't have a mode where it can write everything at once at the end.
- Support reading : The same way the files are written we can read them once we have the necessary header informations.