Rrugët Relative në PHP

Siç e dini tashmë, në parametrin e funksionit file_get_contents duhet të shkruhet emri i skedarit. Megjithatë, kjo funksionon vetëm në rastin kur skedari i lexuar ndodhet në të njëjtën dosje ku niset skripti ynë.

Nëse skedari ndodhet diku tjetër, atëherë në parametrin e funksionit duhet të shkruhet rruga për tek ai skedar.

Le ta shohim me një shembull.

Shembull

Supozoni se kemi strukturën e mëposhtme të skedarëve:

Le të lexojmë përmbajtjen e skedarit tekst. Për këtë, përveç emrit të skedarit, do të na duhet të përcaktojmë edhe dosjen në të cilën ai ndodhet:

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

Shembull

Supozoni se kemi strukturën e mëposhtme të skedarëve:

Në këtë rast, një përpjekje për të lexuar skedarin tonë duke specifikuar vetëm emrin e tij si rrugë, do të përfundojë me gabim:

script/index.php<?php
  echo file_get_contents('test.txt'); // do të japë gabim
?>

Pse ndodh gabimi? Çështja është se ne kemi shkruar vetëm emrin e skedarit në parametrin e funksionit. Kjo do të thotë se skedari i lexuar duhet të jetë i vendosur në të njëjtën dosje ku ndodhet dhe ai që ekzekutohet.

Megjithatë, skedari ynë i lexuar ndodhet një nivel më lart, domethënë në atë dosje që përmban dosjen me skriptin.

Në këtë rast, ne duhet të tregojmë qartë në rrugën e skedarit, se ky skedar duhet kërkuar një nivel më lart. Për këtë, përpara emrit të skedarit duhet të shkruhet ../. Le ta bëjmë këtë:

php<?php
  echo file_get_contents('../test.txt'); // skedari do të lexohet
?>

Shembull

Supozoni se kemi strukturën e mëposhtme të skedarëve:

Në këtë rast, gjatë leximit të skedarit, së pari do të dalim një nivel më lart, e më pas do të specifikojmë rrugën për tek skedari ynë në lidhje me atë nivel:

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

Shembull

Supozoni se kemi strukturën e mëposhtme të skedarëve:

Në këtë rast, do të na duhet të dalim më lart dy herë:

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

Detyra Praktike

Задание 1

Shkruani kodin, i cili do të lexojë përmbajtjen e skedarit tekst:

  • index.php
  • /dir1//dir2/test.txt
Задание 2

Shkruani kodin, i cili do të lexojë përmbajtjen e skedarit tekst:

  • /script/index.php
  • /dir1//dir2/test.txt
Задание 3

Shkruani kodin, i cili do të lexojë përmbajtjen e skedarit tekst:

  • /script1//script2/index.php
  • /dir/test.txt
Задание 4

Shkruani kodin, i cili do të lexojë përmbajtjen e skedarit tekst:

  • /script1//script2//script3/index.php
  • /dir1//dir2//dir3/test.txt