⊗ppPmFSRP 334 of 447 menu

Relative stier i PHP

Som du allerede ved, skal filnavnet skrives i parameteren for funktionen file_get_contents. Dette virker dog kun, hvis den læste fil ligger i den samme mappe, hvor vores script køres.

Hvis filen ligger et andet sted, skal stien til denne fil skrives i funktionens parameter.

Lad os se på et eksempel.

Eksempel

Antag, at vi har følgende filstruktur:

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

Lad os læse indholdet af tekstfilen. For at gøre dette skal vi ud over filnavnet også angive mappen, hvor den ligger:

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

Eksempel

Antag, at vi har følgende filstruktur:

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

I dette tilfælde vil et forsøg på at læse vores fil ved at angive dens navn som sti, resultere i en fejl:

<?php echo file_get_contents('test.txt'); // vil give en fejl ?>

Hvorfor opstår der en fejl? Grunden er, at vi skrev filnavnet i funktionens parameter. Det betyder, at den læste fil skal være placeret i den samme mappe som den kørende script.

Men vores fil, der skal læses, er placeret et niveau over, det vil sige i den mappe, som indeholder mappen med scriptet.

I sådanne tilfælde skal vi eksplicit angive i stien til filen, at denne fil skal søges et niveau over. For at gøre dette skal ../ skrives foran filnavnet. Lad os gøre det:

<?php echo file_get_contents('../test.txt'); // filen vil blive læst ?>

Eksempel

Antag, at vi har følgende filstruktur:

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

I dette tilfælde, når vi læser filen, skal vi først gå et niveau op og derefter angive stien til vores fil i forhold til dette niveau:

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

Eksempel

Antag, at vi har følgende filstruktur:

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

I dette tilfælde bliver vi nødt til at gå op to gange:

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

Praktiske opgaver

Skriv kode, der læser indholdet af en tekstfil:

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

Skriv kode, der læser indholdet af en tekstfil:

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

Skriv kode, der læser indholdet af en tekstfil:

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

Skriv kode, der læser indholdet af en tekstfil:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis