Nefunkční upload souborů hostingu

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

Ahoj… potřebuju rychlou pomoc.. Nahrál jsem svůj web na wedos hosting(nevím jestli to hraje roli) a poté mi přestalo fungovat uploadování souborů(resp. obrázků). Laděnka hlásí

rename(): open_basedir restriction in effect. File() is not within the allowed path(s): (/data/web/virtuals/65105/virtual)

kód pro uload

$file = $values->image;
	$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'] . '/www/images/articles/' . $file_name);

Můžu vědět co a proč?

trejjam
Backer | 65
+
0
-

Zkus si dumpnout

$this->context->parameters['wwwDir'] . '/www/images/articles/' . $file_name

Dle chybove hlasky bych tipnul ze neobsahuje nic

--edit
Btw a context je ve 2.3 deprecated

Editoval trejjam (28. 3. 2015 1:35)

iNviNho
Člen | 352
+
0
-

a takíto base path?

<?php
$this->basePath = $this->context->httpRequest->url->basePath;
?>

a takéto niečo nepoužívaš?

<?php
$image = Image::fromFile($v["obr"]);
	    $image->resize(1000, null, Image::SHRINK_ONLY);

	    $nazov = $this->vratNazovObrazka($v->obr->getName());

	    $imagecesta = "images/instruktori/galeria/".$nazov;

	    $image->save($imagecesta, 90, Image::PNG);
?>

a problém môže byť aj v právach na zápis súborov, checkni zložky cez total comander a zmen im atributy na „777“

Editoval iNviNho (28. 3. 2015 11:30)

lukendo
Člen | 96
+
0
-

trejjam napsal(a):

Zkus si dumpnout

$this->context->parameters['wwwDir'] . '/www/images/articles/' . $file_name

Dle chybove hlasky bych tipnul ze neobsahuje nic

--edit
Btw a context je ve 2.3 deprecated

a co by se mělo místo toho contextu používat, a vztahuje se to i na modely(že je context deprecated)?

Editoval lukendo (30. 3. 2015 10:05)

Jan Mikeš
Člen | 771
+
0
-

@lukendo v modelu nemáš ani k $this->context přístup, pokud si neinjectujes celý DIC. jinak tu wwwDir tam tuším máš úplně zbytečně, jak psal @iNviNho path by se měla brát relativně od wwwDir, takže ve tvém případě přístup k parametrům z configu ani nepotřebuješ.

chemix
Nette Core | 1310
+
0
-

@lukendo predavani zavyslosti pres konstruktor nebo pomoci inject metod, nebo moje oblibene @inject (jen pro presentery) https://doc.nette.org/…dependencies