Relativní cesta z absolutní

- na1k
- Člen | 288
Zdravím, mám zřejmě velice amatérský dotaz, ale jde mi o best practice.
Píšu si skriptík na úpravu obrázků (Nette\Image) a výsledné obrázky ukládám to tempu, tedy
<?php
Environment::getVariable('tempDir')
?>
ten ale vypadá nějak takto C:\Web\ws2/app/temp a výsledný
soubor má pak adresu
například C:\Web\ws2/app/temp/miniatura.jpg
Jak můžu z takové adresy efektivně udělat adresu, kterou použiju na
stránce? Hledal jsem někde konstantu document_root nebo něco
podobného, ale marně. Například u mě, je root v C:\Web\ws2,
což znamená, že tuto část bych potřeboval z adresy odříznout, ale
nenapadá mě žádné čisté řešení.

- Jod
- Člen | 701
WWW_DIR v index.php.
Všablone je to $baseUri.
Môžeš použiť aj https://api.nette.org/…iScript.html
Environment::getHttpRequest()->getUri()->basePath,baseUri etc.
Editoval Jod (18. 7. 2009 19:45)

- Ondřej Mirtes
- Člen | 1536
Každopádně ten obrázek bys neměl linkovat přímo z
app/temp/, tam by měl mít totiž Apache zakázaný přístup
(přes .htaccess a tím, že všechny požadavky na web jsou
směřovány do document_root/index.php, takže Apache nadřazenou
složku ani „nevidí“).
Obrázek ukládej do WWW_DIR.'/img/' či něco podobného.

- Honza Kuchař
- Člen | 1662
Obrázek můžeš taky klientovi odeslat jednoduše pomocí FileDownloaderu (Nette extras) (soubor potom může být fyzicky klidně i v tempech).