⊗ppPmFSRP 334 of 447 menu

Relativne poti v PHP

Kot že veste, je v parameter funkcije file_get_contents treba napisati ime datoteke. Vendar to deluje le, če se datoteka, ki jo beremo, nahaja v isti mapi, kjer se zažene naš skript.

Če pa se datoteka nahaja drugje, potem je v parameter funkcije treba napisati pot do te datoteke.

Poglejmo si primer.

Primer

Recimo, da imamo naslednjo strukturo datotek:

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

Preberimo vsebino besedilne datoteke. Za to bomo poleg imena datoteke potrebovali navedbo tudi mape, v kateri se nahaja:

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

Primer

Recimo, da imamo naslednjo strukturo datotek:

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

V tem primeru bo poskus branja naše datoteke z navedbo le njenega imena kot poti, končal z napako:

<?php echo file_get_contents('test.txt'); // bo izpisalo napako ?>

Zakaj pride do napake? Bistvo je v tem, da smo v parameter funkcije napisali ime datoteke. To pomeni, da se mora datoteka, ki jo beremo, nahajati v isti mapi, kot se zažene skript.

Vendar se naša datoteka, ki jo beremo, nahaja en nivo višje, torej v mapi, ki vsebuje mapo s skriptom.

V tem primeru moramo v poti do datoteke eksplicitno navesti, da je to datoteko treba iskati en nivo višje. Za to je treba pred imenom datoteke napisati ../. Naredimo to:

<?php echo file_get_contents('../test.txt'); // datoteka bo prebrana ?>

Primer

Recimo, da imamo naslednjo strukturo datotek:

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

V tem primeru bomo pri branju datoteke najprej šli en nivo višje, nato pa navedli pot do naše datoteke relativno glede na ta nivo:

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

Primer

Recimo, da imamo naslednjo strukturo datotek:

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

V tem primeru bomo morali iti navzgor dvakrat:

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

Praktične naloge

Napišite kodo, ki bo prebrala vsebino besedilne datoteke:

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

Napišite kodo, ki bo prebrala vsebino besedilne datoteke:

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

Napišite kodo, ki bo prebrala vsebino besedilne datoteke:

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

Napišite kodo, ki bo prebrala vsebino besedilne datoteke:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni