Адносныя шляхі ў 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
- /test/
- /directory/
- test.txt
У гэтым выпадку нам спатрэбіцца выйсці наверх два разы:
<?php
echo file_get_contents('../../directory/test.txt');
?>
Практычныя задачы
Напішыце код, які прачытае змесціва тэкставага файла:
- index.php
- /dir1/
- /dir2/
- test.txt
- /dir2/
Напішыце код, які прачытае змесціва тэкставага файла:
- /script/
- index.php
- /dir1/
- /dir2/
- test.txt
- /dir2/
Напішыце код, які прачытае змесціва тэкставага файла:
- /script1/
- /script2/
- index.php
- /script2/
- /dir/
- test.txt
Напішыце код, які прачытае змесціва тэкставага файла:
- /script1/
- /script2/
- /script3/
- index.php
- /script3/
- /script2/
- /dir1/
- /dir2/
- /dir3/
- test.txt
- /dir3/
- /dir2/