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/