CSVMaker.php
By: a guest | May 2nd, 2010 | Syntax:
PHP | Size: 1.84 KB | Hits: 176 | Expires: Never
<?php
/**
* @author michaelhartmayer[at]gmail.com
* @copyright 2010
*/
class CSVMaker {
public $csvDelimeter = "\t";
public $csvLine = "\r\n";
public $csvCapsule = '"';
private $csvTemplate = array();
private $csvCollection = array();
private $csvDocument;
public function createTemplate($arr=array()) {
$this->csvTemplate = $arr;
}//end:function
public function addEntry($arr=array()) {
foreach($arr as $Index=>$Value) {
$arr[$Index] = $this->csvCapsule.str_replace($this->csvCapsule,$this->csvCapsule.$this->csvCapsule,$Value).$this->csvCapsule;
}//end:foreach
$this->csvCollection[] = $arr;
}//end:function
public function buildDoc() {
$docLine = '';
$csvTemplate = $this->csvTemplate;
// Add Header
foreach($csvTemplate as $Index=>$Title) {
$csvTemplate[$Index] = $this->csvCapsule.str_replace($this->csvCapsule,$this->csvCapsule.$this->csvCapsule,$Title).$this->csvCapsule;
}//end:foreach
$docLine.=implode($this->csvDelimeter,$csvTemplate).$this->csvLine;
// Add CSV Information
foreach($this->csvCollection as $csvCollectionItem) {
$collectionDeposit = array();
foreach($csvTemplate as $Index=>$Title) {
$collectionDeposit[] = $csvCollectionItem[$Index];
}//end:foreach
$docLine.=implode($this->csvDelimeter,$collectionDeposit).$this->csvLine;
}//end:foreach
return $docLine;
}//end:function
}//end:class
?>