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/