Upload souboru (obrázku) na localhostu
- Jarek92
- Člen | 91
Už nějaký čas se trápím s uploadem souboru na localhostu. Už jsem zkusil jen tu nejzákladnější operaci a ani ta mi nejede, po odeslání formuláře se mi objeví stejná stránka s parametrem „do=addFoto-submit“.
protected function createComponentAddFoto()
{
$form = new Nette\Application\UI\Form;
$form->addText('popis', 'Popis')
->setRequired('Zadejte prosím název fotky, který se objeví pod fotkou v detailním zobrazení.');
$form->addUpload('fotka', 'Fotka')
->addRule(Nette\Forms\Form::IMAGE, 'Fotka musí být ve formátu JPEG, PNG nebo GIF.')
->setRequired('Vyberte prosím fotku.');
$form->addSelect('sekce_id', 'Sekce')
->setRequired()
->setItems($this->fotogalerie->nactiSekce());
$form->addSubmit('send', 'Přidat');
$form->onSuccess[] = $this->addFotoFormSucceeded;
return $form;
}
public function addFotoFormSucceeded($form)
{
$values = $form->getValues();
$cesta = "localhost/solan/www/images/".$values->fotka->getName();
$values->fotka->move($cesta);
$this->redirect('Fotogalerie:default');
}
Moc bych byl rád, kdyby mi někdo ten problém osvětlil. Díky.
- Tomáš Votruba
- Moderator | 1114
Zkus pod $form->onSuccess[] = $this->addFotoFormSucceeded;
přidat:
$form->onError[] = $this->addFotoFormSucceeded;
Je možné, že neprojde kontrola souboru.
Editoval Tomáš Votruba (1. 3. 2014 11:31)
- Pavel Macháň
- Člen | 282
Jarek92 napsal(a):
Už nějaký čas se trápím s uploadem souboru na localhostu. Už jsem zkusil jen tu nejzákladnější operaci a ani ta mi nejede, po odeslání formuláře se mi objeví stejná stránka s parametrem „do=addFoto-submit“.
protected function createComponentAddFoto() { $form = new Nette\Application\UI\Form; $form->addText('popis', 'Popis') ->setRequired('Zadejte prosím název fotky, který se objeví pod fotkou v detailním zobrazení.'); $form->addUpload('fotka', 'Fotka') ->addRule(Nette\Forms\Form::IMAGE, 'Fotka musí být ve formátu JPEG, PNG nebo GIF.') ->setRequired('Vyberte prosím fotku.'); $form->addSelect('sekce_id', 'Sekce') ->setRequired() ->setItems($this->fotogalerie->nactiSekce()); $form->addSubmit('send', 'Přidat'); $form->onSuccess[] = $this->addFotoFormSucceeded; return $form; } public function addFotoFormSucceeded($form) { $values = $form->getValues(); $cesta = "localhost/solan/www/images/".$values->fotka->getName(); $values->fotka->move($cesta); $this->redirect('Fotogalerie:default'); }
Moc bych byl rád, kdyby mi někdo ten problém osvětlil. Díky.
Smrdí mě tam ta cesta. Dostaň si tam wwwDir a až z této cesty pokračuj na images
Editoval EIFEL (1. 3. 2014 11:33)
- Jarek92
- Člen | 91
EIFEL napsal(a):
Jarek92 napsal(a):
Už nějaký čas se trápím s uploadem souboru na localhostu. Už jsem zkusil jen tu nejzákladnější operaci a ani ta mi nejede, po odeslání formuláře se mi objeví stejná stránka s parametrem „do=addFoto-submit“.
protected function createComponentAddFoto() { $form = new Nette\Application\UI\Form; $form->addText('popis', 'Popis') ->setRequired('Zadejte prosím název fotky, který se objeví pod fotkou v detailním zobrazení.'); $form->addUpload('fotka', 'Fotka') ->addRule(Nette\Forms\Form::IMAGE, 'Fotka musí být ve formátu JPEG, PNG nebo GIF.') ->setRequired('Vyberte prosím fotku.'); $form->addSelect('sekce_id', 'Sekce') ->setRequired() ->setItems($this->fotogalerie->nactiSekce()); $form->addSubmit('send', 'Přidat'); $form->onSuccess[] = $this->addFotoFormSucceeded; return $form; } public function addFotoFormSucceeded($form) { $values = $form->getValues(); $cesta = "localhost/solan/www/images/".$values->fotka->getName(); $values->fotka->move($cesta); $this->redirect('Fotogalerie:default'); }
Moc bych byl rád, kdyby mi někdo ten problém osvětlil. Díky.
Smrdí mě tam ta cesta. Dostaň si tam wwwDir a až z této cesty pokračuj na images
teď přesně nevím co wwwDir znamená? něco jako {basepath}? a jak se volá?
- Pavel Macháň
- Člen | 282
Jarek92 napsal(a):
teď přesně nevím co wwwDir znamená? něco jako {basepath}? a jak se volá?
V configu je to přístupné jako %wwwDir%
Inspirovat se můžeš tu: https://forum.nette.org/…-pro-obrazky#…