⊗ppPmFSRP 334 of 447 menu

Caminhos relativos em PHP

Como você já sabe, no parâmetro da função file_get_contents deve-se escrever o nome do arquivo. Isso, no entanto, funciona apenas se o arquivo a ser lido estiver na mesma pasta onde nosso script é executado.

Se o arquivo estiver em outro local, então no parâmetro da função é necessário escrever o caminho para esse arquivo.

Vamos ver um exemplo.

Exemplo

Suponha que temos a seguinte estrutura de arquivos:

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

Vamos ler o conteúdo do arquivo de texto. Para isso, além do nome do arquivo, precisaremos especificar também a pasta onde ele está:

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

Exemplo

Suponha que temos a seguinte estrutura de arquivos:

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

Neste caso, a tentativa de ler nosso arquivo, especificando seu nome como caminho, terminará em erro:

<?php echo file_get_contents('test.txt'); // resultará em erro ?>

Por que o erro é gerado? O problema é que escrevemos o nome do arquivo no parâmetro da função. Isso significa que o arquivo a ser lido deve estar localizado na mesma pasta que o executável.

No entanto, nosso arquivo a ser lido está um nível acima, ou seja, na pasta que contém a pasta do script.

Nesse caso, devemos explicitamente indicar no caminho do arquivo que este arquivo deve ser procurado um nível acima. Para isso, antes do nome do arquivo, deve-se escrever ../. Vamos fazer isso:

<?php echo file_get_contents('../test.txt'); // o arquivo será lido ?>

Exemplo

Suponha que temos a seguinte estrutura de arquivos:

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

Neste caso, ao ler o arquivo, primeiro subiremos um nível e, em seguida, especificaremos o caminho para nosso arquivo em relação a esse nível:

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

Exemplo

Suponha que temos a seguinte estrutura de arquivos:

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

Neste caso, precisaremos subir dois níveis:

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

Tarefas práticas

Escreva um código que leia o conteúdo do arquivo de texto:

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

Escreva um código que leia o conteúdo do arquivo de texto:

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

Escreva um código que leia o conteúdo do arquivo de texto:

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

Escreva um código que leia o conteúdo do arquivo de texto:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar