Revision: 15461
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 6, 2009 18:48 by welly
Initial Code
// Exports CSV
function exportCSV($where = NULL, $delimeter = ',')
{
$csv = '';
$this->recursive = -1;
$rows = $this->findAll($where);
foreach($rows as $row)
{
$row[$this->name] = str_replace('\', '\\',
$row[$this->name]);
$row[$this->name] = str_replace($delimeter, '\' .
$delimeter, $row[$this->name]);
$csv .= implode($delimeter, $row[$this->name]) . chr(13);
}
$csv = trim($csv);
return $csv;
}
// Imports CSV
function importCSV($csv, $delimeter = ',')
{
$keys = $this->getFieldNames();
$rows = array();
$csv = trim($csv);
$csv_rows = explode(chr(13), $csv);
foreach($csv_rows as $csv_row)
{
$csv_row = str_replace('\\', '\', $csv_row);
$csv_row = str_replace('\' . $delimeter, chr(26), $csv_row);
$row = explode($delimeter, $csv_row);
$row = str_replace(chr(26), $delimeter, $row);
$row = array_combine($keys, $row);
$rows = array_merge_recursive($rows,
array(array($this->name => $row)));
}
return $rows;
}
// Returns model fieldnames
function getFieldNames()
{
$names = array();
$fields = $this->_schema;
foreach($fields as $key => $value)
array_push($names, $key);
return $names;
}
Initial URL
Initial Description
Initial Title
Import Export CSV routine for CakePHP
Initial Tags
php, textmate, cakephp, csv
Initial Language
Other