Tuto knihovnu používám k převodu pole do jiného formátu dat nebo naopak.
Zde můžete najít knihovnu/třídu Format (Format.php), kterou můžete použít k převodu CSV na pole a poté jej uložit do databáze. Tato třída také podporuje jiný formát:
- xml – XML umí číst téměř každý programovací jazyk
- json – užitečné pro JavaScript a stále častěji aplikace PHP.
- csv – otevřít pomocí tabulkových procesorů
- html – jednoduchá HTML tabulka
- php – Reprezentace kódu PHP, který lze eval()’ed
- serializovat – serializovaná data, která lze v PHP zrušit ze serializace
UPRAVIT:
Tato knihovna funguje na CSV s oddělovačem "\n" na každém řádku a "," na každém sloupci, můžete ji použít takto:
$this->load->library('format');
$string_csv = "YOUR CSV";
$result = $this->format->factory($string_csv, 'csv')->to_array();
var_dump($result);
Takhle jednoduše. Jak jsem však řekl výše, pokud máte jiný oddělovač, musíte knihovnu upravit podle svých potřeb. Zde je hlavní funkce pro převod CSV na pole:
function _from_csv($string)
{
$data = array();
// Splits
$rows = explode("\n", trim($string));
$headings = explode(',', array_shift($rows));
foreach ($rows as $row)
{
// The substr removes " from start and end
$data_fields = explode('","', trim(substr($row, 1, -1)));
if (count($data_fields) == count($headings))
{
$data[] = array_combine($headings, $data_fields);
}
}
return $data;
}
ÚPRAVA 2:
Můj příklad bude fungovat na tomto standardním formátu CSV:
Heading1, Heading2, Heading3
"1","John","London"
"2","Brian","Texas"