[ deZio @ 05.12.2012. 22:40 ] @
Pokušavam da rešim detektovanje putanja skripte automatski (url i path), dakle bez potrebe da korisnik mora definisati putanje u config fajlu, međutim na dosta mesta čitam da se ne treba pouzdati u dirname(__FILE__) i svugde spominju symlink.

U svakom članku na netu spominju symlink a nigde ne nalazim na jasne primere koji bi pokazali u čemu je razlika kad je taj symlink u pitanju. Da li zna neko da napiše primer da bi mi bilo lakše da skontam?

I još da napomenem da znam šta znači aps. i rel. putanja, ../ itd.

Evo i ovde naletim na istu stvar:
http://codex.wordpress.org/Det...Plugin_and_Content_Directories
[ plague @ 05.12.2012. 23:34 ] @
Symlink je pojam vezan za linux sistem.
U linuksu postoje dve vrste linkova:
- hard link
- soft link

Soft link je nesto nalik na shortcutu u windowsu. On moze referencirati file/direktorijum na bilo kom File System kojem korisnik ima pristup. Sam link sadrzi informaciju gde se nalazi trazeni fajl/dir. Menjanjem bezbednosnih postavka symlinka utices samo na link, dok file/dir koji je njime referenciran zadrzava originalne dozvole. Brisanjem originalnog fajla simbolicki link prestaje da bude validan.

Hard link je nesto sto nema parelelu windowsu. Kada napravis neki fajl on se smesta na disk i dobija referencu(hard link) koju ti mozes da vidis. Dokle god fajl ima bar jedan hard link, njemu se moze pristupiti. Pravljenjem novog hard linka, ti pravis novu referencu ka identicnoj lokaciji na disku. Hard linkovi dele dozvole i mogu postojati samo unutar jednog File Systema.

Apsolutna putanja predstavlja punu putanju ka fajlu. Ako je u pitanju linux, to znaci pocev od root direktorijuma, ako je u pitanju windows onda je to pocev od imena diska, ako je u pitanju web onda je to puna adresa sa sve domenom.

Relativna putanja predstavlja put do fajla u odnosu na trenutnu lokaciju. Jedna tacka oznacava trenutni direktoriju, dve tacke oznacavaju natdirektorijum. Prednost ovakvog referenciranja je sto dokle god znas kako izgleda stablo foldera iznad tebe, ne zanima te gde se taj skup foldera nalazi na sistemu. Najbolji primer je web direktorijum.
Imas npr folder " www" u kome se nalaze svi ostali html/php fajlovi. Svi oni kada zele da ukazu na neki drugi fajl koriste relativne putanje jer one ne zavise na kom se domenu nalaze dokle god je struktura foldera identicna u odnosu na "root" folder (koji bi u ovom slucaju bio "www").

Zamisli da imas fajlove unutar www foldera: index.html i slike/slika1.jpg
Nebitno na kom se disku/serveru nalazi www folder, ako iz index.html hoces da ukazes na slika1 to mozes uraditi koristeci putanju: "./slika1.jpg"

Ako pak iz fajla unutar www foldera koji se nalazi na: stranice/formulari/prikaz_cena.html zelis da pokazes na slike/slika1.jpg
Mozes to uraditi koristeci "../../slike/slika1.jpg"
Kada se vratis jedan folder iznad (uz pomoc ..) pristupas folderu "stranice", ako se jos jednom vratis nazad nalazis se u "www" folderu. Odatle se posle spustis ka slika1.jpg.
[ deZio @ 07.12.2012. 03:22 ] @
Citat:
Apsolutna putanja predstavlja punu putanju ka fajlu. Ako je u pitanju linux, to znaci pocev od root direktorijuma, ako je u pitanju windows onda je to pocev od imena diska, ako je u pitanju web onda je to puna adresa sa sve domenom.

Relativna putanja predstavlja put do fajla u odnosu na trenutnu lokaciju. Jedna tacka oznacava trenutni direktoriju, dve tacke oznacavaju natdirektorijum. Prednost ovakvog referenciranja je sto dokle god znas kako izgleda stablo foldera iznad tebe, ne zanima te gde se taj skup foldera nalazi na sistemu. Najbolji primer je web direktorijum.
Imas npr folder "" www"" u kome se nalaze svi ostali html/php fajlovi. Svi oni kada zele da ukazu na neki drugi fajl koriste relativne putanje jer one ne zavise na kom se domenu nalaze dokle god je struktura foldera identicna u odnosu na ""root"" folder (koji bi u ovom slucaju bio ""www"").

Zamisli da imas fajlove unutar www foldera: index.html i slike/slika1.jpg
Nebitno na kom se disku/serveru nalazi www folder, ako iz index.html hoces da ukazes na slika1 to mozes uraditi koristeci putanju: ""./slika1.jpg""

Ako pak iz fajla unutar www foldera koji se nalazi na: stranice/formulari/prikaz_cena.html zelis da pokazes na slike/slika1.jpg
Mozes to uraditi koristeci ""../../slike/slika1.jpg""
Kada se vratis jedan folder iznad (uz pomoc ..) pristupas folderu ""stranice"", ako se jos jednom vratis nazad nalazis se u ""www"" folderu. Odatle se posle spustis ka slika1.jpg.

Ovaj deo mi je potpuno jasan, on je u principu i lako shvatljiv i meni koji sam jedino upoznat sa Linuxom samo preko web tehnologija.

Citat:
Symlink je pojam vezan za linux sistem.
U linuksu postoje dve vrste linkova:
- hard link
- soft link

Soft link je nesto nalik na shortcutu u windowsu. On moze referencirati file/direktorijum na bilo kom File System kojem korisnik ima pristup. Sam link sadrzi informaciju gde se nalazi trazeni fajl/dir. Menjanjem bezbednosnih postavka symlinka utices samo na link, dok file/dir koji je njime referenciran zadrzava originalne dozvole. Brisanjem originalnog fajla simbolicki link prestaje da bude validan.

Hard link je nesto sto nema parelelu windowsu. Kada napravis neki fajl on se smesta na disk i dobija referencu(hard link) koju ti mozes da vidis. Dokle god fajl ima bar jedan hard link, njemu se moze pristupiti. Pravljenjem novog hard linka, ti pravis novu referencu ka identicnoj lokaciji na disku. Hard linkovi dele dozvole i mogu postojati samo unutar jednog File Systema.


Sad mi je malo jasnije kada su u pitanju hard i soft linkovi (soft link = symlink)

Dakle problem bi bio ako bi putanja do skripte bila soft link, i u tom slučaju __FILE__ bi prikazivao putanju hard link-a a ne putanju soft linka.