⊗ppPmFSRP 334 of 447 menu

Santykiniai keliai PHP

Kaip jau žinote, į funkcijos file_get_contents parametrą reikia rašyti failo pavadinimą. Tai, tačiau, veikia tik tuo atveju, jei skaitomas failas yra tame pačiame kataloge, kuriame paleidžiamas mūsų scenarijus.

Jei failas yra kitoje vietoje, tada į funkcijos parametrą reikia rašyti kelią iki to failo.

Pažiūrėkime pavyzdžiu.

Pavyzdys

Tarkime, kad turime tokią failų struktūrą:

  • index.php
  • /directory/
    • test.txt

Perskaitykime teksto failo turinį. Tam, be failo pavadinimo, mums reikės nurodyti ir katalogą, kuriame jis yra:

<?php echo file_get_contents('directory/test.txt'); ?>

Pavyzdys

Tarkime, kad turime tokią failų struktūrą:

  • /script/
    • index.php
  • test.txt

Tokiu atveju bandymas perskaityti mūsų failą, nurodant jo pavadinimą kaip kelią, baigsis klaida:

<?php echo file_get_contents('test.txt'); // išmes klaidą ?>

Kodėl išmetama klaida? Esmė ta, kad mes į funkcijos parametrą parašėme failo pavadinimą. Tai reiškia, kad skaitomas failas turi būti tame pačiame kataloge, kuriame yra paleidžiamasis.

Tačiau, mūsų skaitomas failas yra vienu lygiu aukščiau, tai yra, tame kataloge, kuriame yra katalogas su scenarijumi.

Tokiu atveju mes turime aiškiai nurodyty kelį iki failo, kad šis failas būtų ieškomas vienu lygiu aukščiau. Tam prieš failo pavadinimą reikia parašyti ../. Padarykime tai:

<?php echo file_get_contents('../test.txt'); // failas bus perskaitytas ?>

Pavyzdys

Tarkime, kad turime tokią failų struktūrą:

  • /script/
    • index.php
  • /directory/
    • test.txt

Šiuo atveju skaitant failą mes pirmiausia išeisime vienu lygiu aukščiau, o tada nurodysime kelią iki mūsų failo, santykinai to lygio:

<?php echo file_get_contents('../directory/test.txt'); ?>

Pavyzdys

Tarkime, kad turime tokią failų struktūrą:

  • /script/
    • /test/
      • index.php
  • /directory/
    • test.txt

Šiuo atveju mums reikės išeiti aukštyn du kartus:

<?php echo file_get_contents('../../directory/test.txt'); ?>

Praktinės užduotys

Parašykite kodą, kuris perskaitys teksto failo turinį:

  • index.php
  • /dir1/
    • /dir2/
      • test.txt

Parašykite kodą, kuris perskaitys teksto failo turinį:

  • /script/
    • index.php
  • /dir1/
    • /dir2/
      • test.txt

Parašykite kodą, kuris perskaitys teksto failo turinį:

  • /script1/
    • /script2/
      • index.php
  • /dir/
    • test.txt

Parašykite kodą, kuris perskaitys teksto failo turinį:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti