Validační pravidla pro upload souboru
- iwory
- Člen | 147
Zdravím, nevím jeslti něco dělám špatně nebo ne, ale nefungují mi validační pravidla pro „file“
Mám kod:
$form->addUpload('foto', 'Fotografie restaurace')
->addRule(UI\Form::MAX_FILE_SIZE, 'Maximální velikost souboru je 2MB.', '2000')
->addRule(UI\Form::IMAGE, 'Formát fotografie může být pouze JPEG, PNG nebo GIF.');
Nahrávám obrázek o velikosti 2,4MB a vypisuje mi to pouze chybu
„Formát fotografie může být pouze JPEG, PNG nebo GIF.“
Tuto hlášku ale hlásí ikdyž nahrávám PNG, JPG.
Dělám něco špatně? Díky za reakce
- iwory
- Člen | 147
Casper napsal(a):
Zkontroluj jaký
MIME_TYPE
ti prohlížeč posílá v případě daných souborů.
dump $values vyhodi:
Nette\ArrayHash(4) ▼ {
foto => Nette\Http\FileUpload(5) ▼ {
name private => "IMG_0588_sss.jpg" (16)
type private => NULL
size private => 0
tmpName private => ""
error private => 1
}
upload_photo => ""
pubID => "29" (2)
pubUrl => "krejci-bohumil" (14)
}
Když posílám menší – cca 400kb tak mam dump
ette\ArrayHash(4) ▼ {
foto => Nette\Http\FileUpload(5) ▼ {
name private => "IMG_0588_sss kopie.jpg" (22)
type private => NULL
size private => 272966
tmpName private => "/var/www/virtual/lsecc.cz/phptmp/php2nCsjB" (56)
error private => 0
}
upload_photo => ""
pubID => "29" (2)
pubUrl => "krejci-bohumiil" (15)
}
Editoval iwory (4. 11. 2013 13:11)
- David Matějka
- Moderator | 6445
mas tam error 1, coz je
Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini.
- s4muel
- Člen | 92
ja len doplnim z dokumentacie, ze druhy parameter tej podmienky je velkost v bytoch:
$form->addUpload('avatar', 'Avatar:')
->addRule(Form::IMAGE, 'Avatar musí být JPEG, PNG nebo GIF.')
->addRule(Form::MAX_FILE_SIZE, 'Maximální velikost souboru je 64 kB.', 64 * 1024 /* v bytech */);
takze namiesto 2000, tam asi budes chciet mat 2 * 1024 * 1024 (2097152)
- iwory
- Člen | 147
s4muel napsal(a):
ja len doplnim z dokumentacie, ze druhy parameter tej podmienky je velkost v bytoch:
$form->addUpload('avatar', 'Avatar:') ->addRule(Form::IMAGE, 'Avatar musí být JPEG, PNG nebo GIF.') ->addRule(Form::MAX_FILE_SIZE, 'Maximální velikost souboru je 64 kB.', 64 * 1024 /* v bytech */);
takze namiesto 2000, tam asi budes chciet mat 2 * 1024 * 1024 (2097152)
jj, díky, zkoušel jsem jenom měnit případné velikosti. Nic méně díky za postřeh ;-)