⊗ppPmFSRP 334 of 447 menu

Relativní cesty v PHP

Jak již víte, do parametru funkce file_get_contents se zapisuje název souboru. To však funguje pouze v případě, že čtený soubor leží ve stejné složce, ve které je spouštěn náš skript.

Pokud soubor leží jinde, je do parametru funkce nutné zapsat cestu k tomuto souboru.

Podívejme se na příklad.

Příklad

Předpokládejme, že máme následující strukturu souborů:

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

Pojďme si přečíst obsah textového souboru. K tomu kromě názvu souboru budeme potřebovat uvést i složku, ve které se nachází:

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

Příklad

Předpokládejme, že máme následující strukturu souborů:

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

V tomto případě pokus o přečtení našeho souboru zadáním jeho názvu jako cesty skončí chybou:

<?php echo file_get_contents('test.txt'); // vypíše chybu ?>

Proč se vypisuje chyba? Jde o to, že jsme do parametru funkce napsali název souboru. To znamená, že čtený soubor musí být umístěn ve stejné složce jako spouštěný skript.

Avšak náš čtený soubor se nachází o úroveň výše, tedy ve složce, která obsahuje složku se skriptem.

V takovém případě musíme explicitně uvést v cestě k souboru, že tento soubor je třeba hledat o úroveň výše. K tomu před název souboru je třeba napsat ../. Udělejme to:

<?php echo file_get_contents('../test.txt'); // soubor bude přečten ?>

Příklad

Předpokládejme, že máme následující strukturu souborů:

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

V tomto případě při čtení souboru nejprve vystoupáme o úroveň výše, a poté uvedeme cestu k našemu souboru vzhledem k této úrovni:

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

Příklad

Předpokládejme, že máme následující strukturu souborů:

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

V tomto případě budeme muset vystoupit nahoru dvakrát:

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

Praktické úlohy

Napište kód, který přečte obsah textového souboru:

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

Napište kód, který přečte obsah textového souboru:

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

Napište kód, který přečte obsah textového souboru:

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

Napište kód, který přečte obsah textového souboru:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout