Autor Zpráva
technik
Profil
Potřeboval bych, aby mi php vypsalo cestu k domovskému adresáři (rootu)(/) mého hostingového prostroru.
Tedy aby to vypsalo něco takového: /3w/domen.cz/pismeno/moje_domena/

Děkuji za radu T.
Yur4Y
Profil
dirname(__FILE__)
technik
Profil
Díky moc
DoubleThink
Profil *
Yur4Y:
To je adresář aktuálně zpracovávaného souboru. Nemusí to být root.
AM_
Profil
DoubleThink:
To je pravda, nicméně lépe to zjistit pokud vím nelze - takže je jen potřeba dodat, že soubor, který cestu zjišťuje, se musí v rootu webu nacházet.

V PHP existuje $_SERVER['DOCUMENT_ROOT'], jenže na serverech s virtualhosty toto ukazuje cestu k webu defaultního hosta - nepoužitelné.
technik
Profil
Takže, musím mít to dirname(__FILE__) umístěno v rootu, aby mi to ukázalo cestu k rootu. Jinak mi to ukáže cestu k aktuálnímu adresáři?
Nox
Profil
Ano.... nejlépe pokud tam máš nějaký centrální soubor, tak to dáš třeba do konstanty (define()) a v tom pake bude hodnota rootu i pro ostatní skripty
Majkl578
Profil
A co takto?
$docRoot = substr(__FILE__, 0, -strlen($_SERVER['PHP_SELF']));
AM_
Profil
Majkl578:
Krásný nápad :) bohužel není to zcela spolehlivé, co když někdo zadá:
example.com/some/folder/structure/get_root.php/some/junk
Totéž při mod_rewrite.
Mohlo by to ale jít takto:
$docRoot = substr(__FILE__, 0, -strlen($_SERVER['SCRIPT_NAME']));


//omlouvám se, špatně jsem se díval; při mod_rewrite to nevadí, nicméně první bod platí. Sice nevím, k čemu to je, každopádně script_name se zdá být spolehlivější ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: