⊗ppPmFSRP 334 of 447 menu

Σχετικές διαδρομές στην PHP

Όπως ήδη γνωρίζετε, στην παράμετρο της συνάρτησης file_get_contents πρέπει να γράφετε το όνομα του αρχείου. Αυτό, ωστόσο, λειτουργεί μόνο στην περίπτωση που το αρχείο που διαβάζεται βρίσκεται στον ίδιο φάκελο από τον οποίο εκτελείται το script μας.

Εάν το αρχείο βρίσκεται αλλού, τότε στην παράμετρο της συνάρτησης πρέπει να γράψετε τη διαδρομή προς αυτό το αρχείο.

Ας δούμε ένα παράδειγμα.

Παράδειγμα

Ας υποθέσουμε ότι έχουμε την ακόλουθη δομή αρχείων:

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

Ας διαβάσουμε τα περιεχόμενα του αρχείου κειμένου. Για αυτό, εκτός από το όνομα του αρχείου, θα χρειαστεί να καθορίσουμε και το φάκελο στον οποίο βρίσκεται:

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

Παράδειγμα

Ας υποθέσουμε ότι έχουμε την ακόλουθη δομή αρχείων:

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

Σε αυτήν την περίπτωση, η προσπάθεια ανάγνωσης του αρχείου μας, καθορίζοντας ως διαδρομή μόνο το όνομά του, θα καταλήξει σε σφάλμα:

<?php echo file_get_contents('test.txt'); // θα προκαλέσει σφάλμα ?>

Γιατί εμφανίζεται σφάλμα; Το γεγονός είναι ότι στην παράμετρο της συνάρτησης γράψαμε το όνομα του αρχείου. Αυτό σημαίνει ότι το αρχείο που διαβάζεται πρέπει να βρίσκεται στον ίδιο φάκελο με αυτόν που εκτελείται.

Ωστόσο, το αρχείο που διαβάζουμε βρίσκεται ένα επίπεδο πάνω, δηλαδή στον φάκελο που περιέχει τον φάκελο με το script.

Σε αυτήν την περίπτωση, πρέπει να καθορίσουμε ρητά στη διαδρομή προς το αρχείο, ότι αυτό το αρχείο πρέπει να αναζητηθεί ένα επίπεδο πάνω. Για αυτό, πριν από το όνομα του αρχείου, πρέπει να γράψουμε ../. Ας το κάνουμε:

<?php echo file_get_contents('../test.txt'); // το αρχείο θα διαβαστεί ?>

Παράδειγμα

Ας υποθέσουμε ότι έχουμε την ακόλουθη δομή αρχείων:

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

Σε αυτήν την περίπτωση, κατά την ανάγνωση του αρχείου, πρώτα θα βγούμε ένα επίπεδο πάνω, και στη συνέχεια θα καθορίσουμε τη διαδρομή προς το αρχείο μας σε σχέση με αυτό το επίπεδο:

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

Παράδειγμα

Ας υποθέσουμε ότι έχουμε την ακόλουθη δομή αρχείων:

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

Σε αυτήν την περίπτωση, θα χρειαστεί να βγούμε πάνω δύο φορές:

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

Πρακτικές Ασκήσεις

Γράψτε κώδικα που θα διαβάσει τα περιεχόμενα ενός αρχείου κειμένου:

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

Γράψτε κώδικα που θα διαβάσει τα περιεχόμενα ενός αρχείου κειμένου:

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

Γράψτε κώδικα που θα διαβάσει τα περιεχόμενα ενός αρχείου κειμένου:

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

Γράψτε κώδικα που θα διαβάσει τα περιεχόμενα ενός αρχείου κειμένου:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη