परिचय
glob:// स्ट्रीम रैपर PHP 5.3.0 के बाद के सभी संस्करणों में उपलब्ध है। यह उन पथनामों को ढूंढता है जो दिए गए पैटर्न से मेल खाते हैं। इसी उद्देश्य को PHP का फाइलसिस्टम फ़ंक्शन glob() पूरा करता है जो libc glob() नियमों का पालन करता है।
पैरामीटर्स
विशेष वर्ण
*- शून्य या अधिक वर्णों से मेल खाता है।?- ठीक एक वर्ण से मेल खाता है (कोई भी वर्ण)।[...]- वर्णों के समूह से एक वर्ण से मेल खाता है। यदि पहला वर्ण!है, तो समूह में नहीं वाले किसी भी वर्ण से मेल खाता है।\- निम्न वर्ण को एस्केप करता है, सिवाय जब GLOB_NOESCAPE फ्लैग उपयोग किया जाता है।
मान्य फ्लैग्स
- GLOB_MARK - वापस की गई प्रत्येक डायरेक्टरी में स्लैश जोड़ता है (विंडोज पर बैकस्लैश)
- GLOB_NOSORT - फाइलों को वैसे ही लौटाता है जैसे वे डायरेक्टरी में दिखाई देती हैं (कोई सॉर्टिंग नहीं)
- GLOB_NOCHECK - यदि कोई फाइल पैटर्न से मेल नहीं खाती तो खोज पैटर्न लौटाता है
- GLOB_NOESCAPE - बैकस्लैश मेटाकैरेक्टर को कोट नहीं करते
- GLOB_BRACE -
{a,b,c}को 'a', 'b', या 'c' से मेल खाने के लिए विस्तारित करता है - GLOB_ONLYDIR - केवल डायरेक्टरी एंट्री लौटाता है जो पैटर्न से मेल खाती हैं
- GLOB_ERR - रीड एरर पर रोकता है (जैसे अनरीडेबल डायरेक्टरी), डिफ़ॉल्ट रूप से एरर नजरअंदाज किए जाते हैं
उदाहरण
glob() फ़ंक्शन का उपयोग
<?php
foreach (glob("test/*.php") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
}
?>
glob:// स्ट्रीम रैपर का उपयोग
<?php
$it = new DirectoryIterator("glob://test/*.php");
foreach ($it as $f) {
echo "File name: " . $f->getFilename() . " size: " . $f->getSize() . "\n";
}
?>
दोनों स्क्रिप्ट test सबडायरेक्टरी में .php एक्सटेंशन वाली फाइलों का नाम और आकार प्रदर्शित करती हैं।
नोट: DirectoryIterator के साथ glob:// ऑब्जेक्ट-ओरिएंटेड फाइल सिस्टम एक्सेस प्रदान करता है।