PHP'деги салыштырмалуу жолдор

Сиз билгендей, file_get_contents функциясынын параметрине файлдын атын жазуу керек. Бирок, бул ошол папкада болгон учурда гана иштейт, окулуучу файл биздин скрипт башталган жерде жатат.

Эгерде файл башка жерде жатса, анда функциянын параметрине ошол файлга чейинки жолду жазуу керек.

Мисал менен карап көрөлү.

Мисал

Бизде төмөнкү файлдардын түзүлүшү бар деп коёлу:

Текст файлынын мазмунун окуп көрөлү. Бул үчүн файлдын атынан тышкары бизге жатуучу папканы да көрсөтүү керек болот:

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

Мисал

Бизде төмөнкү файлдардын түзүлүшү бар деп коёлу:

Мындай учурда, биздин файлды окууга аракет кылып, жол катары анын атын гана көрсөтсөк, ката менен аяктайт:

script/index.php<?php
  echo file_get_contents('test.txt'); // ката чыгарат
?>

Эмне үчүн ката чыгат? Мунун себеби, биз функциянын параметрине файлдын атын жаздык. Бул окулуучу файл иштетилүүчү ошол папкада болушу керек дегенди билдирет.

Бирок, биздин окулуучу файл бир деңгээл жогору, башкача айтканда, скрипт бар папканы камтыган папкада жайгашкан.

Мындай учурда биз жолдо файлды, бул файлды бир деңгээл жогору издеш керек деп так көрсөтүшүбүз керек. Бул үчүн файлдын атынан мурун жазышыбыз керек ../. Муну жасап көрөлү:

php<?php
  echo file_get_contents('../test.txt'); // файл окулат
?>

Мисал

Бизде төмөнкү файлдардын түзүлүшү бар деп коёлу:

Бул учурда файлды окуганда биз алгач бир деңгээл жогору чыгып, андан кийин жолду көрсөтөбүз ошол деңгээлге салыштырмалуу биздин файлга чейинки:

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

Мисал

Бизде төмөнкү файлдардын түзүлүшү бар деп коёлу:

Бул учурда бизге жогору чыгуу үчүн эки жолу керек болот:

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

Практикалык тапшырмалар

Задание 1

Төмөнкү текст файлынын мазмунун окуган кодду жазыңыз:

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

Төмөнкү текст файлынын мазмунун окуган кодду жазыңыз:

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

Төмөнкү текст файлынын мазмунун окуган кодду жазыңыз:

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

Төмөнкү текст файлынын мазмунун окуган кодду жазыңыз:

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