dev-master
9999999-devPHP File Manager
MIT
The Requires
The Development Requires
by Ibrahim Azhar Armar
php-file-manager
Wallogit.com
2017 © Pedro Peláez
PHP File Manager
Developed and Maintained by Ibrahim Azhar Armar, (*1)
PHP Utility Class to Manage Files and Operations * Canadian Payments Association - CPA-005 Writer * XLS, (*3)
composer require oromedialab/php-file-manager dev-master
git clone https://github.com/oromedialab/php-file-manager.git
This library performs write operations for CPA-005 files, (*4)
Canadian Payments Association (CPA) layout is used by Canadian Banks when exchanging electronic CAD or USD payment details with other Canadian Banks. It is recommended for clients who have mainframe systems and only intend processing payments within Canada., (*5)
CPA format cannot be used for electronic payments destined to the United States., (*6)
// Use statement
use Oml\PHPFileManager\Document\CPA005\LogicalRecord;
use Oml\PHPFileManager\Document\CPA005\Segment;
use Oml\PHPFileManager\Document\CPA005\Writer;
use Oml\PHPFileManager\Document\CPA005\File;
use Oml\PHPFileManager\Document\CPA005\Utility\TransactionType;
// Intialize file writer
$file = new File\DAT();
$file->setFileName('1111');
// Intialize logical record type "A"
$typeA = new LogicalRecord\TypeA;
$typeA->setLogicalRecordCount(1);
$typeA->setOriginatorAccountNumber('1111111111');
$typeA->setFileCreationNumber('1111');
$typeA->setFileCreationDate(new \DateTime('now'));
$typeA->setFileProcessingCentre('11111');
// Add logical record type to file for writing
$file->addLogicalRecord($typeA, 'A');
// Intialize logical record type "C"
$typeC = new LogicalRecord\TypeC;
$typeC->setLogicalRecordCount(2);
$typeC->setOriginatorAccountNumber('1111111111');
$typeC->setFileCreationNumber('1111');
// Add segments to logical record type "C" (Maximum of 6 segments can be added to each of segmentable logical record)
$segment = new Segment\TypeC;
$segment->setTransactionType(TransactionType::ACCOUNTS_PAYABLE);
$segment->setAmount('111.11');
$segment->setPaymentDate(new \DateTime('now'));
$segment->setInstitutionCode('111');
$segment->setTransitNumber('11111');
$segment->setBankAccountNumber('1111111');
$segment->setOriginatorShortName('XXXX.YYY');
$segment->setCustomerName('XXXXXXXX XXXX');
$segment->setOriginatorLongName('XXXXXXXXXXXX.YYYY');
$segment->setOriginatorDirectClearerUserId('1111111111');
$segment->setOriginatorCrossReferenceNumber('XXXXXXX XXX');
$segment->setReturnInstitutionCode('111');
$segment->setReturnBranchTransitNumber('11111');
$segment->setReturnBranchAccountNumber('111111');
// Add first segment to logical record type C
$typeC->addSegment($segment);
// Add logical record type to file for writing
$file->addLogicalRecord($typeC);
// Intialize logical record type "Z" (Pass "C" for Credit and "D" for Debit in the constructor)
$typeZ = new LogicalRecord\TypeZ('C');
$typeZ->setLogicalRecordCount(3);
$typeZ->setOriginatorAccountNumber('1111111111');
$typeZ->setFileCreationNumber('1111');
$typeZ->setTotalAmountOfCredits('111.11');
$typeZ->setTotalAmountOfDebits('0');
$typeZ->setTotalNumberOfCredits('1');
$typeZ->setTotalNumberOfDebits('1');
// Add logical record type to file for writing
$file->addLogicalRecord($typeZ, 'Z');
// Write content to file for download
$writer = new Writer;
$writer->setFile($file);
$writer->download();
// If you want to dump file content
$writer->dump();
Write, style and download array content to XLS file using simple to use syntax, (*7)
use Oml\PHPFileManager\Document\Xls;
// Init XLS Writer
$doc = new Xls\Writer;
// Add Rows
$doc->addRows(array('Ibrahim', 'Azhar', 'azhar@iarmar.com'));
$doc->addRows(array('John', 'Doe', 'john@doe.com'));
// Set width for column
$doc->setWidthForColumn('A', 10);
// Set background color for column range (without hash symbol)
$doc->setBackgroundColorForColumnRange('A1:D1', '000000');
// Set font color for column range (without hash symbol)
$doc->setFontColorForColumnRange('A1:D1', 'FFFFFF');
// Align text for column range (HORIZONTAL_CENTER, HORIZONTAL_LEFT, HORIZONTAL_RIGHT)
$doc->alignTextForColumnRange('A1:D1', 'HORIZONTAL_CENTER');
// Trigger download
$doc->download();
// Init XLS Reader
$doc = new Xls\Reader('/file/path/document.xlsx');
// Replace column with indexes
$doc->replaceColumnWithIndex('0', 'last_name');
$doc->replaceColumnWithIndex('1', 'first_name');
$doc->replaceColumnWithIndex('2', 'email');
// Remove column with indexes
$doc->removeColumnWithIndexes(array('25, 26, 27'));
// Dump content
$content = $doc->toArray();
PHP File Manager
MIT
php-file-manager