import dat z csv pomocí formuláře a uložení do databáze
- Koupilsemto
- Člen | 38
Zdravím, potřeboval bych pomoct s nahráváním csv do databáze z formuláře. Vytvořil jsem formulář kde mám ->addUpload. Bohužel nevím jak předat vybraný soubor do $fileOpen = fopen aby jej to přečetlo a následně uložilo. Vše končí Undefined variable: filecs nebo No such file or directory
protected function createComponentCsv() {
$form = new Form;
$form->addProtection();
$filecsv = $form->addUpload('csv');
$form->addSubmit('send', 'Uložit');
$form->onSuccess[] = [$this, 'saveData'];
return $form;
}
public function saveData() {
$fileOpen = fopen($filecsv, 'r');
$i = 1;
while ($row = fgets($fileOpen, 1024)) {
if ($i > 1) {
$cols = preg_split("/;|,|:/", $row);
$data = [
'ev_cislo' => self::clearCell($cols[0]),
'prace' => self::clearCell($cols[1]),
'ajmeno' => self::clearCell($cols[2]),
];
return $this->cd->saveCsvData($data);
}$i++;
}}
V Latte mám pak vloženo pouze {control csv}
- h4kuna
- Backer | 740
- není jasný kde a jak ti vzniká proměnná $filecsv namísto $filecs, jestli je to cesta nebo objekt FileUpload.
- pro čtení csv souboru je přímo podpora v php
Editoval h4kuna (5. 6. 2018 9:00)