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