Autor Zpráva
Zabanuch
Profil
Možná je pouze ptákovina, ale:
Mám problém s cestami (path), představte si modelovou situaci. Protože mi počet souborů v rootu začal bytnět, rozhodl jsem se, že pro každý logický celek stránek vytvořím vlastní složku. Přestavte si strukturu:


/dir001/dir001.php
/dir001/rtn0011.php
/dir001/rtn0012.php

/dir002/dir002.php
/dir002/rtn0021.php
/dir002/rtn0022.php

menu.php //obsahuje definici záhlaví a session
index.php
cosi_1.php
cosi_2.php



Můj problém vězí v tom, že když z menu v rootu spustím
/dir001/dir001.php

načtu si /dir001/dir001.php require ('../menu.php'),zpracuji požadované rutiny rtn0011 a rtn0012 vypadá vše "normálně". Problém nastane v okamžiku, kdy mě začne z vyvolaného menu zajímat
/dir002/dir002.php
.
Cesta je v tomto případě nastavená bohužel na
/dir001/dir002/dir002.php

což je pochopitelně nesmysl. Jediné řešení které zatím znám, je umístit dir001.php a dir002.php do rootu a teprve rutiny volat z adresáře. Existuje nějaké řešení kdy když spustím ../menu.php bude dočasně nastavena cesta adresáře, ve kterém se volaný soubor nachází? Přepokládám, že řešení je jednoduché, ovšem všechno co mi google nabídl je nastavení php.ini v apači atp.

Děkuji za odpověď
sicario
Profil
Konkretni radu nemam, jen namet k premysleni:-)

System spociva v tom, ze se pozadovany php soubor vola pres index.php v korenovem adresari webu. Jakekoli dalsi include uz jsou pak provadeny pres absolutni cestu. Abosultni cesta korene webu je ulozena v nejake promenne definovane v souboru index.php.

Priklad:

example.com/index.php?run=dir001/dir001

upraveny s pouzitim me oblibene $_SERVER['PATH_INFO'] (takova zebracka obdoba mod_rewrite:-)

example.com/index.php/dir001/dir001

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0