Diskuze: nette - Possible problem
Člen
Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
měl jsem tam akorát flashmessage, a po smazání to též nefunguje
Skús si schovať laděnku a uvidíš, aké dáta sa ti tam vypisujú. Potom ich skús pohľadať v kóde. Chyba je možno na úplne inom mieste, ako je kód formulára.
protected function createComponentProfilePhotoForm() {
$form = new \Nette\Application\UI\Form();
$form->addUpload('files', 'Profilová fotka:', TRUE)
->addRule(\Nette\Forms\Form::IMAGE, "Toto není fotka");
$form->addSubmit('send', 'Nahrát profilovou fotku.');
$form->onSuccess[] = $this->profilePhotoFormSucceeded;
return $form;
}
public function profilePhotoFormSucceeded($form) {
$values = $form->getValues();
$files = $values['files'];
foreach ($files as $imageFile) {
if($imageFile->isImage()) {
try {
$image = \Nette\Image::fromFile($imageFile);
$imageFile->move($this->context->parameters['wwwDir'].'/images/galleries/images/'.$imageFile->name);
$thumb = \Nette\Image::fromFile($this->context->parameters['wwwDir'].'/images/'.$imageFile->name);
$thumb->resize(NULL, 200);
$thumb->save($this->context->parameters['wwwDir'].'/images/thumbs/'.$imageFile->name);
}
catch(Exception $ex) {
$this->flashMessage('Nepodařilo se přidat fotky.', 'error');
}
}
}
$this->redirect('Profil:default');
}
}
Namiesto:
$this->flashMessage('Nepodařilo se přidat fotky.', 'error');
použi:
$form->addError('Nepodařilo se přidat fotky.');
. Doporučujem prečítať dokumentáciu - http://doc.nette.org/cs/2.1/forms
je tam chyba u 'move' správně je to takhle:
$imageFile->move($this->context->parameters['wwwDir'].'/images/'.$imageFile->name);
po vypnutí laděnky to hází toto:
Warning: POST Content-Length of 11246045 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
Toto je problém webového serveru, ktorý neumožňuje uploadnúť viac ako 8MB dát. Pokiaľ máš prístup k php.ini, tak nájdi a uprav tieto dva riadky na dané hodnoty:
upload_max_filesize = 1000M;
post_max_size = 1000M;
Musíš niekde ošetriť maximálnu veľkosť fotky, ktorú môžeš nahrať. Toto ti vypisuje, pretože je väčšia ako sever povoľuje, potom vzniká ten problém s hlavičkou.
supr funguje, díky
btw co ty středníky? já je v tom souboru php.ini nemám, takže jestli z toho
vyplývá že jsou nepovinné nebo tak něco?
To sa mi nezdá ako najmúdrejšie riešenie, takto mu tam môže niekto v pohode nahrať giga dát.
Je tam len "pre efekt". V podstate len zakomentuje zvyšok riadku.
Záleží na použití. Pri fotografiách to samozrejme nie je najlepšie riešenie, najlepšie je to ešte obmedziť priamo vo formulári:
$form->addUpload('image', 'Obrázok:')
->addRule(Form::MAX_FILE_SIZE, 'Maximákna veľkosť súboru je 64 kB.', 64 * 1024);
Díky, tohle vyřešilo teď můj problém s loginem přes FB na nette 2.1
Zobrazeno 17 zpráv z 17.