⊗ppPmFSRP 334 of 447 menu

Relatívne cesty v PHP

Ako už viete, do parametra funkcie file_get_contents sa má písať názov súboru. To však funguje len v prípade, že čítaný súbor sa nachádza v rovnakom priečinku, v ktorom sa spúšťa náš skript.

Ak sa súbor nachádza na inom mieste, tak do parametra funkcie je potrebné napísať cestu k tomuto súboru.

Pozrime sa na príklad.

Príklad

Predpokladajme, že máme nasledujúcu štruktúru súborov:

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

Poďme si prečítať obsah textového súboru. Na to okrem názvu súboru budeme potrebovať uviesť aj priečinok, v ktorom sa nachádza:

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

Príklad

Predpokladajme, že máme nasledujúcu štruktúru súborov:

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

V takom prípade pokus o prečítanie nášho súboru zadaním jeho názvu ako cesty skončí chybou:

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

Prečo sa vyskytuje chyba? Dôvod je v tom, že do parametra funkcie sme napísali názov súboru. To znamená, že čítaný súbor by mal byť umiestnený v rovnakom priečinku, ako je spúšťaný skript.

Avšak, náš čítaný súbor sa nachádza o úroveň vyššie, teda v priečinku, ktorý obsahuje priečinok so skriptom.

V takom prípade musíme explicitne uviesť v ceste k súboru, že tento súbor treba hľadať o úroveň vyššie. Na to pred názov súboru treba napísať ../. Urobme to:

<?php echo file_get_contents('../test.txt'); // súbor bude prečítaný ?>

Príklad

Predpokladajme, že máme nasledujúcu štruktúru súborov:

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

V tomto prípade pri čítaní súboru najprv vystúpime o úroveň vyššie a potom uvedieme cestu k nášmu súboru relatívne vzhľadom na túto úroveň:

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

Príklad

Predpokladajme, že máme nasledujúcu štruktúru súborov:

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

V tomto prípade budeme musieť vystúpiť nahor dvakrát:

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

Praktické úlohy

Napíšte kód, ktorý prečíta obsah textového súboru:

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

Napíšte kód, ktorý prečíta obsah textového súboru:

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

Napíšte kód, ktorý prečíta obsah textového súboru:

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

Napíšte kód, ktorý prečíta obsah textového súboru:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť