⊗ppPmFSRP 334 of 447 menu

Relative Pfade in PHP

Wie Sie bereits wissen, sollte der Name der Datei in den Parameter der Funktion file_get_contents geschrieben werden. Dies funktioniert jedoch nur, wenn die zu lesende Datei in demselben Ordner liegt, in dem unser Skript ausgeführt wird.

Wenn die Datei an einem anderen Ort liegt, muss der Pfad zu dieser Datei in den Parameter der Funktion geschrieben werden.

Sehen wir uns ein Beispiel an.

Beispiel

Nehmen wir an, wir haben die folgende Dateistruktur:

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

Lassen Sie uns den Inhalt der Textdatei lesen. Dazu müssen wir zusätzlich zum Dateinamen auch den Ordner angeben, in dem sie sich befindet:

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

Beispiel

Nehmen wir an, wir haben die folgende Dateistruktur:

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

In diesem Fall wird der Versuch, unsere Datei zu lesen, indem wir ihren Namen als Pfad angeben, mit einem Fehler enden:

<?php echo file_get_contents('test.txt'); // wird einen Fehler ausgeben ?>

Warum wird ein Fehler ausgegeben? Der Grund ist, dass wir den Dateinamen in den Funktionsparameter geschrieben haben. Das bedeutet, dass die zu lesende Datei sich in demselben Ordner befinden muss wie die ausgeführte.

Unsere zu lesende Datei befindet sich jedoch eine Ebene höher, also in dem Ordner, der den Ordner mit dem Skript enthält.

In diesem Fall müssen wir explizit im Pfad zur Datei angeben, dass diese Datei eine Ebene höher gesucht werden soll. Dazu sollte vor dem Dateinamen ../ geschrieben werden. Tun wir das:

<?php echo file_get_contents('../test.txt'); // Datei wird gelesen ?>

Beispiel

Nehmen wir an, wir haben die folgende Dateistruktur:

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

In diesem Fall gehen wir beim Lesen der Datei zunächst eine Ebene nach oben und geben dann den Pfad zu unserer Datei relativ zu dieser Ebene an:

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

Beispiel

Nehmen wir an, wir haben die folgende Dateistruktur:

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

In diesem Fall müssen wir zweimal nach oben gehen:

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

Praktische Aufgaben

Schreiben Sie Code, der den Inhalt der Textdatei liest:

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

Schreiben Sie Code, der den Inhalt der Textdatei liest:

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

Schreiben Sie Code, der den Inhalt der Textdatei liest:

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

Schreiben Sie Code, der den Inhalt der Textdatei liest:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen