⊗ppPmFSRP 334 of 447 menu

Suhtelised teed PHP-s

Nagu te juba teate, tuleb funktsiooni file_get_contents parameetris kirjutada faili nimi. See aga töötab ainult juhul, kui loetav fail asub samas kaustas, kus meie skript käivitatakse.

Kui fail asub muus kohas, tuleb funktsiooni parameetris kirjutada tee selleni failini.

Vaatame näidet.

Näide

Oletame, et meil on järgmine failide struktuur:

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

Loeme teksti faili sisu. Selleks peame lisaks faili nimele määrama ka kausta, kus see asub:

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

Näide

Oletame, et meil on järgmine failide struktuur:

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

Sellisel juhul lõppeb meie faili lugemise katse, andes tee parameetrina selle nime, veaga:

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

Miks tekib viga? Asi on selles, et me kirjutasime funktsiooni parameetris faili nime. See tähendab, et loetav fail peaks asuma samas kaustas, kus käivitatav.

Kuid meie loetav fail asub taseme võrra kõrgemal, st kaustas, mis sisaldab skripti kausta.

Sellisel juhul peame tees failini selgelt määrama, et seda faili tuleks otsida taseme võrra kõrgemalt. Selleks tuleb faili nime ees kirjutada ../. Teeme seda:

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

Näide

Oletame, et meil on järgmine failide struktuur:

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

Sellisel juhul faili lugemisel me kõigepealt lähme taseme võrra kõrgemale ja seejärel määrame tee meie failini suhteliselt sellele tasemele:

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

Näide

Oletame, et meil on järgmine failide struktuur:

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

Sellisel juhul peame minema kõrgemale kaks korda:

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

Praktilised ülesanded

Kirjutage kood, mis loeb teksti faili sisu:

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

Kirjutage kood, mis loeb teksti faili sisu:

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

Kirjutage kood, mis loeb teksti faili sisu:

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

Kirjutage kood, mis loeb teksti faili sisu:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu