Autor | Zpráva | ||
---|---|---|---|
Zabanuch Profil |
#1 · Zasláno: 23. 1. 2008, 15:30:30 · Upravil/a: Zabanuch
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 |
#2 · Zasláno: 23. 1. 2008, 19:47:46
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 |
||
Časová prodleva: 16 let
|
0