परिचय
विभिन्न URL-स्टाइल प्रोटोकॉल का उपयोग PHP में संबंधित बिल्ट-इन रैपर्स की मदद से फाइलसिस्टम फ़ंक्शन के साथ किया जा सकता है। stream_wrapper_register() फ़ंक्शन कस्टम रैपर परिभाषित करने के लिए भी है।
PHP में डिफ़ॉल्ट रैपर file:// है और यह स्थानीय फाइलसिस्टम को दर्शाता है। यदि कोई अन्य प्रोटोकॉल स्पष्ट रूप से उपयोग नहीं किया जाता है, तो PHP पार्सर इसे फाइलसिस्टम रैपर मानता है। fopen(), file_get_contents() आदि फाइलसिस्टम फ़ंक्शन को दिया जाने वाला फ़ाइलनाम आर्गुमेंट डिफ़ॉल्ट रूप से file:// प्रोटोकॉल का उपयोग करता है।
जब फ़ाइलनाम फॉरवर्ड या बैकवर्ड स्लैश से शुरू नहीं होता, या विंडोज में ड्राइव लेटर नहीं होता, तो इसका पथ वर्तमान डायरेक्टरी के सापेक्ष लिया जाता है। हालांकि, fopen() और file_get_contents() फ़ंक्शन में, फ़ाइलनाम को include_path डायरेक्टिव में उल्लिखित स्थानों में खोजा जा सकता है।
file:// रैपर एक साथ रीड/राइट ऑपरेशन, डायरेक्टरी बनाना और हटाना, और फ़ाइल का नाम बदलना समर्थित करता है। साथ ही, फ़ाइल एक्सेस allow_url_fopen डायरेक्टिव द्वारा php.ini कॉन्फ़िगरेशन सेटिंग्स में प्रतिबंधित नहीं है।
उदाहरण
विभिन्न संभावित तरीकों में फ़ाइलनाम का प्रतिनिधित्व:
निरपेक्ष पथ
$file = fopen("C:/xampp/php/test/test.txt", "w");
सापेक्ष पथ (मान लें वर्तमान वर्किंग डायरेक्टरी c:\xampp\php है, फ़ाइल tst सबडायरेक्टरी में खुलती है)
$file = fopen("test/test.txt", "w");
वर्तमान पथ. फ़ाइल c:\xampp\php\test डायरेक्टरी में खुलेगी मान लें कि यह वर्तमान डायरेक्टरी है
$file = fopen("test.txt", "w");
file:// प्रोटोकॉल का उपयोग करके निरपेक्ष पथ के लिए
$file = fopen("file:///c:/xampp/php/test/test.txt", "w");
file:// प्रोटोकॉल का उपयोग करके डॉक्यूमेंट रूट में फ़ाइल के लिए
$file = fopen("file://localhost/test/test.txt", "w");
मुख्य बिंदु: file:// लोकल फाइलसिस्टम का डिफ़ॉल्ट रैपर है। तीन स्लैश file:/// लोकल फाइल पथ के लिए उपयोग किए जाते हैं (स्कीम://होस्ट/पथ फॉर्मेट में होस्ट खाली होता है)।