Jednoduchy upload obrazku
- dawe
- Člen | 59
Ahoj,
mam jednoduchy formuklar, kde se uploaduje logo pro stranku. Ale nedari se mi to
rozchodit, tak jak bych potreboval. Idealne pokud se ten obrazek uploaduje, tak
aby se rovnou zobrazil, zda je to mozne. Dale pokud se stranka jen upravuje, tak
si ten obrazek v tom formulari zobrazit, s moznosti ho nahradit za novy.
kod mam takto:
if ($values->logo->isImage()) {
$imgName = $values->logo->getSanitizedName();
$img = $values->logo->toImage();
$img->resize(165, 150, \Nette\Image::SHRINK_ONLY);
$img->save("/www/images/public/partners/original/" . $imgName);
} else {
$imgName = NULL;
}
$values->logo = $imgName;
$values pak ukladam do databaze
ale do databaze se mi ulozi neco takoveho: C:\Windows\Temp\php5F02.tmp
coz neni moc idealni :( .. diky za radu
- dawe
- Člen | 59
Tak nazev se uklada spravne, ale ten obrazek pak nikde nevidim
edit: tak uz se mi uklada i obrazek, vyresil jsem to takto:
$file = $values->logo;
$imgName = md5($file->getName() . rand()) . time() . $file->getName();
$file->move("images/public/partners/".$imgName);
$img = $file->toImage();
$img->resize(165, 150, \Nette\Image::SHRINK_ONLY);
$img->save("images/public/partners/".$imgName);
ale ted by me zajimalo, jak ho vykreslit do formulare (pokud je nejaky uploadovany), aby uzivatel vedel co upravuje
Editoval dawe (1. 6. 2014 21:41)
- mpis
- Člen | 65
to dawe:
v presenteru mám toto:
<?php
...
if($this->record->img_filename) {
$this->template->img = 'files/'.$this->folder_name.'/images/'.$this->record->img_filename;
}
else {$this->template->img = 'images/void.png';}
...
?>
a pak v latte:
<?php
...
<tr>
<th>{label room/}</th>
<td>{input room}</td>
<td align="center" rowspan="7" colspan="2" ><div id="imgPreview"><img class="imgprev" src="{$img} "></div></td>
</tr>
...
?>
Snad Ti to pomůže.