upload souboru – Call to a member function isOk() on a non-object
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Dave3991
- Člen | 14
public function UploadFormSucceeded($form) {
$values = $form->getValues();
dump($values);
$file = $form['files']->getValue();
dump($file);
if($file->isOk()){ // tady je problém, používám nette 2.2.x
$file->move('WWW_DIR' . "./");
$this->flashMessage('Upload succesful.');
}
}
$file by měl být objekt třídy „Nette\Http\FileUpload“ takže by mělo fungovat isOk() a taky případně move a další, avšak nefunguje.
pokud to napíšu takhle
if($form['files']->isOk()){
// $file->move('WWW_DIR' . "./");
// $this->flashMessage('Upload succesful.');
}
získám toto chybu „Call to undefined method Nette\Forms\Controls\UploadControl::isOk()“
- David Matějka
- Moderator | 6445
Dle mnozneho cisla „files“ predpokladam, ze pouzivas multiple file upload. Takze ve value nebude FileUpload, ale pole s FileUpload…
- Dave3991
- Člen | 14
vyřešeno – při multiple file uploadu je zapotřebí použít foreach
public function UploadFormSucceeded($form) {
$values = $form->getValues();
dump($values);
$files = $form['files']->getValue();
dump($files);
foreach ($files as $file) {
if ($file->isOk()) {
$file->move('WWW_DIR','./');
$this->flashMessage('Upload succesful.');
}
}
}