Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u

[es] :: PHP :: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u

[ Pregleda: 1556 | Odgovora: 10 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1253
*.rz.uni-karlsruhe.de

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u16.02.2004. u 14:05

Pozdrav!

Da li je moguce prilikom ukljucivanja jednog fajla na, npr index stranu, ukljucivanja u tom fajlu ostanu funkcionalna.
Konkretan slucaj:
Na index.php strani hocu da u prostor za sadrzaj ukljucim fajl ./forum/index.php. Tom prilikom se javlja greska u ./forum/index.php, jer mu je verovatno promenjen direktorijum, tj ponasa se kao da je u root-u.

Da li moram da u ./forum/index.php menjam sve include f-je u apsolutne adrese, ili ima neko bolje resenje?
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
16.02.2004. u 14:05 

_owl_
Centar - BG

Član broj: 318
Poruke: 990
*.vdial.verat.net

Sajt: home.drenik.net/~owl


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u16.02.2004. u 15:36
Pa normalno da moze (samo treba znati kako). Mozda bi mogao da se upoznas sa __DIR__ i __FILE__ konstantama (sigurno je negde u manualu opisano koje su im vrednosti, ne daj boze da pre toga odradis jedan echo __DIR__ . __FILE__ iz inkludovanog fajla).
Owl
16.02.2004. u 15:36 

broker

Član broj: 2415
Poruke: 8521
*.vdial.verat.net



Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u16.02.2004. u 16:48
Nikola, najbolje ti je da u php palikaciji uspostvis globalno promenljivu koja ce da pokazuje na root sajta i da je uvek korsitis u referenciranju putanja. Tako ces imati tacne putanje kad god ti zatrebaju.

Naalost, to jest problem sto includeovanje uvek tretira tekuci direktorijum a ne direktorijum u kome se nalazi skripta u kojoj se vrsi inclde tako da sve relativne veze lako popucaju.

16.02.2004. u 16:48 

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1253
*.rz.uni-karlsruhe.de

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u16.02.2004. u 17:19
Mislio sam da je moguce nesto "partizanski" odraditi. Stvar je u tome sto kod (forum) nisam sam pisao, nego je preuzet sa neta.
Razmisljam da ga ubacim u iFrame koji cu smestiti tamo gde mi treba (na index.php).

Hvala u svakom slucaju!

btw
__DIR__ konstantu nisam uspeo da nadjem u manualu. A i google je izbacio par tredova sa kojekakvih foruma, ali nesta odredjeno.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
16.02.2004. u 17:19 

_owl_
Centar - BG

Član broj: 318
Poruke: 990
*.vdial.verat.net

Sajt: home.drenik.net/~owl


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u16.02.2004. u 20:37
Citat:

Nikola, najbolje ti je da u php palikaciji uspostvis globalno promenljivu koja ce da pokazuje na root sajta i da je uvek korsitis u referenciranju putanja.


Pa najbolje samo za komponente koje koristi aplikacija ali ako postoje delovi koda koji su medjusobno zavisni (naprimer klase koje koristis u vecem broju aplikacija)
to bas i nije najbolje resenje.

Citat:

Mislio sam da je moguce nesto "partizanski" odraditi.

Zasto "partizanski" ako mozes da to odradis elegantno.

Citat:

__DIR__ konstantu nisam uspeo da nadjem u manualu. A i google je izbacio par tredova sa kojekakvih foruma, ali nesta odredjeno.

Izgleda da konstanta __DIR__ ne postoji (tek sad sam proverio) ali __FILE__ ti pruza sve potrebne informacije.



Owl
16.02.2004. u 20:37 

bluesman
Goran Pilipović
Beograd

Član broj: 4505
Poruke: 1897
*.142.EUnet.yu

Sajt: www.goalkeeper.rs


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u16.02.2004. u 23:01
Mislim da je najjednostavnije resenje (ja koristim upravo to) da definises kionstantu na pocetku skaog scripta:

define ('PATH_ROOT', './');

pa onda kada include-ujes, pises

require_once (PATH_ROOT.'config.php');
require_once (PATH_ROOT.'classes/class.gpb.php');

ako se nalazi u podfolderu, recimo "test", pises

define ('PATH_ROOT', '../');

a ostatak koda je isti
require_once (PATH_ROOT.'config.php');
require_once (PATH_ROOT.'classes/class.gpb.php');

i onda nikada nema za***a, jedino sto moras da se setis je da ako promenis lokacija scripta, promenis i PATH_ROOT, pa tako ako je u podfolderu "/test/a/b/":

define ('PATH_ROOT', '../../../');

i uvek radi.

Sto se __FILE__ tice, morao bi onda da ga parseujes

dirname(__FILE__)."/"

i ispostavilo se da to ume nekada da izazove cudne efekte, narocito ako imas nekoliko ugnjezdenih include, ili ako se razlikuje directory separator (\ ili /) (obicno nema problema ali moze da se desi), a pogotovo ako se (u jednom slucaju mi se to desilo) razlikuje $_SERVER['DOCUMENT_ROOT'] od pravog DOCUMENT_ROOT. Tu sam proveo 2 dana da provalim gde je greska u kodu dok nisam na kraju u ocajanju pogledao phpinfo().

Ovo sa konstantom je brze, a moze cak i pocetnik da razume.
Goran Pilipović fka bluesman
16.02.2004. u 23:01 

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1253
*.rz.uni-karlsruhe.de

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u17.02.2004. u 18:50
Ok, to su metode kako da izbegnes za***e u kodu koji pises. Mene muci sto vec imam napisan kod.
Da li je moguce da "utripujem" fajl da se nalazi u drugom direktorijumu, tj da izmenim njegov root (prividno) promenom vrednosti neke promenljive?
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
17.02.2004. u 18:50 

bluesman
Goran Pilipović
Beograd

Član broj: 4505
Poruke: 1897
*.171.EUnet.yu

Sajt: www.goalkeeper.rs


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u18.02.2004. u 01:16
Ako sam te razumeo dobro onda nemam predstavu kako si to zamislio da "za***es" script da misli da je include u drugom foleru u kojem nije :-)

Jedino resenje je extended search-replace (recimo to je jedan od razloga zasto sve radim u Home Site) pa menjas svaki include... mozda mozes da upotrebis $_SERVER['DOCUMENT_ROOT']... ne vidim ni jedno resenje gde mozes da "isfoliras" drugu lokaciju...
Goran Pilipović fka bluesman
18.02.2004. u 01:16 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.InfoSky.Net

Sajt: localhost


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju inclu18.02.2004. u 12:34
pre includovanja skripte chdir() u njen dir, a posle se samo vrati u prethodni (zapamćeni) dir..


18.02.2004. u 12:34 

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1253
*.rz.uni-karlsruhe.de

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u18.02.2004. u 15:58
Ok, hvala. chdir je resio problem sa includovanjem, ali mi je ostao problem sa relativnim linkovima...

Batalicu ovaj pristup i uzmenicu forum da izgleda kao ostatak sajta, pa se nece primetiti gde se skace.

Hvala u svakom slucaju.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
18.02.2004. u 15:58 

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 2787
*.vdial.verat.net

Jabber: grakic@jabber.org
Sajt: blog.goranrakic.com


Profil

icon Re: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u28.02.2004. u 21:51

Mozes i da podesis sa ini_set putanju za include tako da obuhvati i forum.
A za relativne linkove, pa valjda forum ima opciju da podesis link do
root-a foruma?

http://sr.openoffice.org — slobodan kancelarijski paket, zamena za MS Office, na srpskom i engleskom, legalno bez troškova licenciranja
28.02.2004. u 21:51 

[es] :: PHP :: Include problem - greska prilikom ukljucivanja fajlova u sub-direktorijumu koji sami imaju include u

[ Pregleda: 1556 | Odgovora: 10 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.