Роҳҳои нисбӣ дар 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/