import dat z csv pomocí formuláře a uložení do databáze
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- 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 | 741
 
- 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)