⊗ppPmFSRP 334 of 447 menu

Rutas relativas en PHP

Como ya sabes, en el parámetro de la función file_get_contents debes escribir el nombre del archivo. Sin embargo, esto funciona solo si el archivo a leer se encuentra en la misma carpeta desde la cual se ejecuta nuestro script.

Si el archivo está en otro lugar, entonces en el parámetro de la función debes escribir la ruta a ese archivo.

Veamos un ejemplo.

Ejemplo

Supongamos que tenemos la siguiente estructura de archivos:

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

Leamos el contenido del archivo de texto. Para ello, además del nombre del archivo, necesitaremos especificar también la carpeta en la que se encuentra:

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

Ejemplo

Supongamos que tenemos la siguiente estructura de archivos:

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

En este caso, el intento de leer nuestro archivo, especificando solo su nombre como ruta, terminará con un error:

<?php echo file_get_contents('test.txt'); // dará un error ?>

¿Por qué se produce el error? El hecho es que en el parámetro de la función escribimos el nombre del archivo. Esto significa que el archivo a leer debe ubicarse en la misma carpeta que el script en ejecución.

Sin embargo, nuestro archivo a leer está un nivel más arriba, es decir, en la carpeta que contiene la carpeta del script.

En este caso, debemos indicar explícitamente en la ruta del archivo, que este archivo debe buscarse un nivel más arriba. Para ello, antes del nombre del archivo se debe escribir ../. Hagámoslo:

<?php echo file_get_contents('../test.txt'); // el archivo será leído ?>

Ejemplo

Supongamos que tenemos la siguiente estructura de archivos:

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

En este caso, al leer el archivo, primero saldremos un nivel arriba, y luego indicaremos la ruta a nuestro archivo relativa a ese nivel:

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

Ejemplo

Supongamos que tenemos la siguiente estructura de archivos:

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

En este caso, necesitaremos subir dos niveles:

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

Tareas prácticas

Escribe el código que lea el contenido del archivo de texto:

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

Escribe el código que lea el contenido del archivo de texto:

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

Escribe el código que lea el contenido del archivo de texto:

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

Escribe el código que lea el contenido del archivo de texto:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar