odkazování na soubory na produkčním serveru Endora

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

Zdravím. Ve své aplikaci uploaduju obrázek na FTP server. To proběhne OK, obrázek se nahraje.
Následuje ale problém, že se na něj nedokáži rozumně odkazovat pomocí wwwDir.

Kód na upload je zde, ten funguje správně:

<?php
$targetPath = $this->context->parameters['wwwDir'] . "/upload/profile_photo/" . $this->getUser()->getId();
$values['profile_photo']->move("$targetPath/profile_photo.$fileExtension");
?>

Zde při pokusu o získání adresy na obrázek nastává problém.

<?php
$this->template->profilePhotoPath = $this->context->parameters['wwwDir'] . "upload/profile_photo/" . $this->getUser()->getId() . "/profile_photo." . $fileExtension";
?>

Tohle mi hodí odkaz v následujícím tvaru, který ale tím pádem neodkazuje korektně na daný profilový obrázek:
/home/users/mojeusername/mojesubdomena.domena.cz/web/project/www/upload/profile_photo/44/profile_photo.png

Zkoušel jsem přepisovat .htacces, ale bez úspěchu.

Jak mám tedy elegantně vyřešit, aby byl odkaz následujícího tvaru?
mojesubdomena.domena.cz/project/www/upload/profile_photo/44/profile_photo.png

Za vaše rady předem děkuji :)

Jiří Nápravník
Člen | 710
+
0
-

Ve wwwDir je absolutni cesta k www adresari na serveru. Ta te pri vykresleni nebo odkazani na webu vubec nezajima. Pokud mas index.php na stejne urovni jako adresar upload – tak by melo stacit tohle:

$this->template->profilePhotoPath = "/upload/profile_photo/" . $this->getUser()->getId() . "/profile_photo." . $fileExtension";

GEpic
Člen | 566
+
+1
-

Použij $basePath v template