⊗ppPmFSRP 334 of 447 menu

Căi relative în PHP

După cum știți deja, în parametrul funcției file_get_contents ar trebui să scrieți numele fișierului. Acest lucru, totuși, funcționează doar în cazul în care fișierul citit se află în același director în care este rulat scriptul nostru.

Dacă fișierul se află în altă parte, atunci în parametrul funcției trebuie să scriem calea către acel fișier.

Să vedem un exemplu.

Exemplu

Să presupunem că avem următoarea structură de fișiere:

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

Să citim conținutul fișierului text. Pentru aceasta, pe lângă numele fișierului, va fi nevoie să specificăm și directorul în care se află:

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

Exemplu

Să presupunem că avem următoarea structură de fișiere:

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

În acest caz, încercarea de a citi fișierul nostru, specificând ca cale doar numele său, se va termina cu o eroare:

<?php echo file_get_contents('test.txt'); // va da eroare ?>

De ce apare eroarea? Problema este că în parametrul funcției am scris doar numele fișierului. Acest lucru înseamnă că fișierul citit ar trebui să fie localizat în același director ca și cel executat.

Totuși, fișierul nostru citit se află cu un nivel mai sus, adică în acel director care conține directorul cu scriptul.

În acest caz, trebuie să indicăm explicit în calea către fișier, că acest fișier trebuie căutat cu un nivel mai sus. Pentru aceasta, înaintea numelui fișierului trebuie să scriem ../. Să facem acest lucru:

<?php echo file_get_contents('../test.txt'); // fișierul va fi citit ?>

Exemplu

Să presupunem că avem următoarea structură de fișiere:

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

În acest caz, la citirea fișierului, vom ieși întâi cu un nivel mai sus, apoi vom specifica calea către fișierul nostru relativ la acest nivel:

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

Exemplu

Să presupunem că avem următoarea structură de fișiere:

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

În acest caz, va trebui să ieșim mai sus de două ori:

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

Probleme practice

Scrieți codul care va citi conținutul fișierului text:

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

Scrieți codul care va citi conținutul fișierului text:

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

Scrieți codul care va citi conținutul fișierului text:

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

Scrieți codul care va citi conținutul fișierului text:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge