Autor Zpráva
jacob
Profil
Ako mám v PHP zistiť URL stránky, na ktorej sa práve nachádzam? Myslím tým, že som napr. na http://www.nieco.sk/nieco/index.php a ja by som chcel toto zistiť cez nejakú premennú. Tipujem, že je to niečo s $_SERVER[...], len neviem presne čo. A podotázka: ako mám zistiť toto celé, ale bez toho index.php, 4i6e dostanem len http://www.nieco.sk/nieco/?
thingwath
Profil
A v manuálu to není? :-)
jacob
Profil
Je? :) Tak thx. Pokúsim sa nájsť
thingwath
Profil
http://www.php.net/manual/en/reserved.variables.php#reserved.variables .server

V české verzi to tam prostě a jednoduše chybí, což nechápu. Je kvůli tomu k ničemu, protože člověk stejně musí mít tu anglickou.
FantomX1
Profil
Zistis to pomocou $_SERVER['PHP_SELF']; alebo aj s premennymi za otaznikou pomocou $_SERVER['REQUEST_URI'];
jacob
Profil
Díki, našiel som niečo takéto
"http://" . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']

a funguje to.
llook
Profil
Já použivám zhruba toto:

'http://'.$_SERVER['SERVER_NAME']
. ($_SERVER['SERVER_PORT'] != '80'
? ':' . $_SERVER['SERVER_PORT']
: '')
. $_SERVER['REQUEST_URI];


Protože na localhostu mi běží kromě Apache s PHP 5 na portu 80 ještě Apache s PHP 4 na portu 8080.
thingwath
Profil
llook

To mi zase nepřijde jako nějak extra obvyklý případ. Bývá sice zvykem pouštět všelijaké Tomcaty, Zope a jim podobné na vyšších portech, aby to nemuselo běžet jako root, ale u apache jsem o tom ještě neslyšel.
llook
Profil
Já to tak mám proto, že chci jedny a ty samé skripty testovat pro obě verze. Oba servery mají stejný DocumentRoot, liší se jenom mod_php.
A taky jsem se nechtěl rozhodovat, kterou verzi budu mít přes CGI a kterou jako modul. Takže mám dva procesy httpd, každý spuštěný s jiným konfigurákem.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0