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 a dokumentumok 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üli images 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:

  1. Lépjünk be a DirectAdmin felületre
  2. Kattintsunk a Fájlkezelő menüpontra
  3. Navigáljunk a fájlkezelőben abba a könyvtárba, amelynek az abszolút útvonalát szeretnénk megtudni
  4. 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";
    ?>
  5. 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
  6. 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.