problém s ukladaním miniatúry

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
majo1
Člen | 103
+
0
-

Ahoj, snažím sa z formuláru ukladať obrázok v plnom rozlíšení a obrázok ako miniatúru.
Pri snahe uložiť miniatúre mi ale vyskočí error.

imagejpeg(vystavy/6/img/carousel/min/458909cb3328485.84965791.jpg): failed to open stream: No such file or directory
tracy označí riadok return imagejpeg($this->image, $file, $quality);

môj kód:

public function upravitMediaFormSucceeded($form, $values)
{
    $values = $form->getValues();
    $file = $values->imgFull;
    $type = $values->type;

    if (!empty($values->imgFull)) {
        if ($file->isImage() and $file->isOk()) {
            $file_ext = strtolower(mb_substr($file->getSanitizedName(), strrpos($file->getSanitizedName(), ".")));
            $file_name = uniqid(rand(0, 20), TRUE) . $file_ext;
            $file->move($this->context->parameters['wwwDir'] . '/vystavy/' . $values->exhibition .'/img/' . $type . '/' . $file_name);
            $values->imgFull = 'vystavy/' . $values->exhibition . '/img/' . $type . '/' . $file_name;


            $thumb = \Nette\Utils\Image::fromFile($values->imgFull);
            if($thumb->getWidth() > $thumb->getHeight()) {
                $thumb->resize(300, NULL);
            }
            else {
                $thumb->resize(NULL, 300);
            }
            $values->imgMin = 'vystavy/' . $values->exhibition . '/img/' . $type . '/min/' . $file_name;
            $thumb->save($values->imgMin); /*todo NEFUNGUJE!!! */

        }
    } else {
        unset($values->imgFull);
        unset($values->imgMin);
    }


    try {
        if (is_string($values->imgFull) == false) {
            unset($values->imgFull);
            unset($values->imgMin);
        }
        $this->vystavaManager->saveMedia($values);
        $this->flashMessage('Obrázok typu "' . $values->type . '" uložený.');
        $this->redirect('Vystava:uprav', $values->exhibition);
    } catch (UniqueConstraintViolationException $ex) {
        $this->flashMessage('Obrázok s týmto ID už existuje!');
    }
}

Ďakujem za pomoc

matopeto
Člen | 395
+
-1
-

Nebude to tym, ze adresar min nemas vytvoreny?

CZechBoY
Člen | 3608
+
0
-

U imgFull ti chybí ta část do wwwDir.

Barbarossa
Člen | 74
+
+1
-
$thumb = \Nette\Utils\Image::fromFile($values->imgFull);

Snažíš se získat soubor, který neexistuje. Zkus nahradit cestu tímto:

$values->imgFull = $this->context->parameters['wwwDir'] . '/vystavy/' . $values->exhibition . '/img/' . $type . '/' . $file_name;