Upload – soubor má 0kB při přesažení upload_max_filesize
- w3m
- Člen | 4
Zdravím!
Na serveru máme nastavené omezení upload_max_filesize na 2MB a potřebuji ukázat user-friendly hlášku, když je povolená velikost překročena. Níže uvedený kód to nevyřešil:
<?php
$form->addUpload('avatar', 'Profilová fotografie')
->addCondition(Form::FILLED)
->addRule(Form::IMAGE, 'Je vyžadován obrázek ve formátu JPG, GIF nebo PNG.')
->addRule(Form::MAX_FILE_SIZE, 'Obrázek je moc velký.', $this->maxUpload);
?>
V případě, že je kvóta překročena, k žádné chybě nedojde, z nějakého důvodu není obrázek považován jako FILLED, a já dostanu takový array:
Nette\Http\FileUpload Object ( [name:Nette\Http\FileUpload:private] => King2_TheReturn_final2560x1440.jpg [type:Nette\Http\FileUpload:private] => [size:Nette\Http\FileUpload:private] => 0 [tmpName:Nette\Http\FileUpload:private] => [error:Nette\Http\FileUpload:private] => 1 )
Jde to spolehlivě zkontrolovat pomocí addRule, nebo musím vytvořit vlastní pravidla / ohlídat si to v presenteru?
Nette 2.0.13, nginx
- jiri.pudil
- Nette Blogger | 1032
Musíš si vytvořit vlastní pravidla / ohlídat si to v presenteru.
Kontroluj isOk()
a pokud vrátí FALSE, konfrontuj getError()
s chybovými kódy