⊗ppPmFSRP 334 of 447 menu

Chemins relatifs en PHP

Comme vous le savez déjà, le paramètre de la fonction file_get_contents doit contenir le nom du fichier. Cela, cependant, ne fonctionne que si le fichier à lire se trouve dans le même dossier que celui où notre script est exécuté.

Si le fichier se trouve ailleurs, alors le paramètre de la fonction doit contenir le chemin vers ce fichier.

Regardons un exemple.

Exemple

Supposons que nous ayons la structure de fichiers suivante :

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

Lisons le contenu du fichier texte. Pour cela, en plus du nom du fichier, nous aurons besoin d'indiquer également le dossier dans lequel il se trouve :

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

Exemple

Supposons que nous ayons la structure de fichiers suivante :

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

Dans ce cas, la tentative de lecture de notre fichier en spécifiant son nom comme chemin se soldera par une erreur :

<?php echo file_get_contents('test.txt'); // générera une erreur ?>

Pourquoi une erreur est-elle générée ? Le fait est que nous avons écrit le nom du fichier dans le paramètre de la fonction. Cela signifie que le fichier à lire doit être situé dans le même dossier que celui de l'exécution.

Cependant, notre fichier à lire se trouve un niveau au-dessus, c'est-à-dire dans le dossier qui contient le dossier du script.

Dans ce cas, nous devons explicitement indiquer dans le chemin du fichier qu'il faut rechercher ce fichier un niveau au-dessus. Pour cela, avant le nom du fichier, il faut écrire ../. Faisons cela :

<?php echo file_get_contents('../test.txt'); // le fichier sera lu ?>

Exemple

Supposons que nous ayons la structure de fichiers suivante :

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

Dans ce cas, lors de la lecture du fichier, nous allons d'abord remonter d'un niveau, puis indiquer le chemin vers notre fichier par rapport à ce niveau :

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

Exemple

Supposons que nous ayons la structure de fichiers suivante :

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

Dans ce cas, nous aurons besoin de remonter deux fois :

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

Tâches pratiques

Écrivez un code qui lira le contenu du fichier texte :

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

Écrivez un code qui lira le contenu du fichier texte :

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

Écrivez un code qui lira le contenu du fichier texte :

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

Écrivez un code qui lira le contenu du fichier texte :

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser