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).