⊗ppPmFSRP 334 of 447 menu

Относителни пътища в PHP

Както вече знаете, в параметъра на функцията file_get_contents трябва да се пише името на файла. Това обаче работи само в случай, че файлът за четене се намира в същата папка, в която се стартива нашият скрипт.

Ако файлът се намира на друго място, тогава в параметъра на функцията трябва да се напише пътят до този файл.

Нека разгледаме пример.

Пример

Да предположим, че имаме следната структура на файловете:

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

Нека прочетем съдържанието на текстовия файл. За това освен името на файла ще ни трябва да посочим и папката, в която се намира:

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

Пример

Да предположим, че имаме следната структура на файловете:

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

В този случай опитът да прочетем нашия файл, като посочим в пътя само неговото име, ще завърши с грешка:

<?php echo file_get_contents('test.txt'); // ще даде грешка ?>

Защо се получава грешка? Работата е там, че в параметъра на функцията сме написали името на файла. Това означава, че файлът за четене трябва да се намира в същата папка, в която се стартира изпълнимият файл.

Нашият файл за четене обаче се намира с едно ниво по-нагоре, тоест в папката, която съдържа папката със скрипта.

В този случай трябва изрично да посочим в пътя до файла, че този файл трябва да се търси с едно ниво по-нагоре. За това преди името на файла трябва да се напише ../. Нека направим това:

<?php echo file_get_contents('../test.txt'); // файлът ще бъде прочетен ?>

Пример

Да предположим, че имаме следната структура на файловете:

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

В този случай при четене на файла първо излизаме с едно ниво нагоре, а след това посочваме пътя до нашия файл спрямо това ниво:

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

Пример

Да предположим, че имаме следната структура на файловете:

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

В този случай ще се наложи да излезем нагоре два пъти:

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

Практически задачи

Напишете код, който ще прочете съдържанието на текстовия файл:

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

Напишете код, който ще прочете съдържанието на текстовия файл:

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

Напишете код, който ще прочете съдържанието на текстовия файл:

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

Напишете код, който ще прочете съдържанието на текстовия файл:

  • /script1/
    • /script2/
      • /script3/
        • index.php
  • /dir1/
    • /dir2/
      • /dir3/
        • test.txt
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне