Mi az elérési út?
A könyvtárakra vagy adatállományokra történő hivatkozásnál mindig pontosan meg kell adni, hogy a könyvtár vagy fájl hol helyezkedik el a könyvtárszerkezetben. Ezt elérési útnak nevezzük. Megkülönböztetünk abszolút és relatív elérési utat.
A szervereken használt relatív és abszolút útvonalak meghatározzák, hogy egy fájl vagy könyvtár hogyan érhető el a rendszerben. Mindkettő fontos szerepet játszik a fájlok és erőforrások elérésében, és különböző esetekben előnyös egyik vagy másik használata.
Relatív útvonal
A relatív útvonalak az aktuális könyvtárhoz képest határozzák meg a fájl helyét. A relatív útvonalak nem tartalmazzák a gyökér (/
) könyvtárat, helyette .
és ..
szimbólumokat használhatnak a navigációhoz:
-
.
az aktuális könyvtárat jelöli. -
..
az aktuális könyvtár szülőkönyvtárát jelöli. -
Példák relatív útvonalra:
../dokumentumok/jegyzet.txt
– egy szinttel feljebb lép az aktuális könyvtárból, majd megnyitja adokumentumok
mappában lévő fájlt../script.sh
– az aktuális könyvtárban találhatóscript.sh
fájl.images/logo.png
– az aktuális könyvtáron belüliimages
mappában találhatólogo.png
fájl.
-
Használat:
- Amikor egy fájlhoz a program aktuális helyéről, vagy ahhoz viszonyítva szeretnél hozzáférni.
- Dinamikus környezetekben, például amikor egy szkriptet más mappákban futtatsz, és az útvonalakat nem szeretnéd fixen megadni.
-
Előnyök:
- Rugalmasabb, mivel nem függ a fájlrendszer pontos struktúrájától.
- Rövidebb és könnyebben használható a szkript futtatási helyéről nézve.
-
Hátrányok:
- Az aktuális könyvtárhoz kötött, így más helyről futtatva hibát okozhat, ha az elérési útvonalak eltérnek.
- Bonyolultabbá válhat, ha sok
..
vagy.
szimbólumot kell használni a navigációhoz.
Abszolút útvonal
Az abszolút útvonal mindig a fájlrendszer gyökérkönyvtárából (/
) indul, és pontosan meghatározza az elérési útvonalat egy fájlhoz vagy könyvtárhoz. Az abszolút útvonalak mindig ugyanoda vezetnek, függetlenül attól, hogy honnan indulunk.
-
Példák abszolút útvonalra:
/var/www/html/index.html
/home/felhasznalo/dokumentumok/jegyzet.txt
/etc/nginx/nginx.conf
-
Használat:
- Amikor egy pontosan definiált helyre szeretnél navigálni a fájlrendszerben.
- Szkriptekben vagy konfigurációs fájlokban, ahol a fájl helyének egyértelműen meghatározottnak kell lennie.
-
Előnyök:
- Független az aktuális könyvtártól, így mindig ugyanoda vezet.
- Könnyebben értelmezhető és átlátható, különösen, ha más felhasználók vagy rendszerek is használják.
-
Hátrányok:
- Hosszabb lehet, különösen mélyen elhelyezkedő fájlok esetén.
- Ha a fájlrendszer struktúrája változik, az abszolút útvonalak érvényüket veszíthetik.
Abszolút útvonal meghatározása
Az abszolút útvonalat az alábbi szkript feltöltésével a tárhelyünkre tudjuk megtekinteni:
- Lépjünk be a DirectAdmin felületre
- Kattintsunk a Fájlkezelő menüpontra
- Navigáljunk a fájlkezelőben abba a könyvtárba, amelynek az abszolút útvonalát szeretnénk megtudni
- Hozzunk létre a könyvtáron belül egy fájlt, amibe az alábbi kódot másoljuk be:
<?php
echo "Aktuális könyvtár (DIR): " . __DIR__ . "\n";
echo "Aktuális fájl (FILE): " . __FILE__ . "\n";
echo "Munkakönyvtár (getcwd): " . getcwd() . "\n";
?> - Mentsük el a fájlt path.php néven, majd gépeljük be a böngésző címsorába: https://doaminnevünk.hu/path.php
- A programkód megjeleníti a teljes útvonalat.
Gyakorlati példák
Tegyük fel, hogy egy szkript a /home/felhasznalo/projekt
könyvtárban található, és el akarjuk érni a /home/felhasznalo/projekt/adatok/data.txt
fájlt:
-
Abszolút útvonal:
/home/felhasznalo/projekt/adatok/data.txt
-
Relatív útvonal (ha a szkript az
adatok
mappában van):./adatok/data.txt
Mikor Melyiket Használjuk?
-
Abszolút útvonal:
- Ha egyértelműen meg kell határozni egy fájl helyét a fájlrendszerben.
- Rendszerkonfigurációkban, például konfigurációs fájlokban vagy crontab beállításokban.
-
Relatív útvonal:
- Ha a fájl helye változhat, például ha a szkriptet különböző helyekről akarod futtatni.
- Projekten belüli szkriptekben, ahol a fájlok egymáshoz képest vannak elhelyezve, nem a rendszer gyökérkönyvtárához viszonyítva.