यह ग्लोब के लिए एक कार्य जैसा दिखता है , जो एक निर्दिष्ट पैटर्न से मेल खाने वाले फ़ाइल नामों की एक सरणी देता है। मुझे अभी-अभी पोस्ट किए गए दूसरे उत्तर के बारे में पता है, लेकिन चलिए रेगेक्स का एक विकल्प प्रदान करते हैं।
डॉक्स पृष्ठ पर शीर्ष टिप्पणी के अनुसार, आप जो कर सकते हैं वह कुछ इस प्रकार है:
<?php
$dirname = "photos";
$filenames = glob("$dirname/*{380,381,382,383,384,385}*", GLOB_BRACE);
foreach ($filenames as $filename)
{
echo $filename . "<br />";
}
?>
GLOB_BRACE
विकल्प आपको ब्रेसिज़ में मानों की एक सूची निर्दिष्ट करने देता है, और उनके आस-पास के तारांकन उन नंबरों को फ़ाइल नाम में कहीं भी प्रकट होने की अनुमति देते हैं। फिर आप लौटाए गए सरणी पर पुनरावृति कर सकते हैं और $filename
. के साथ जो चाहें कर सकते हैं ।
आप अपने उदाहरण का उपयोग for
. कर सकते हैं glob
. को पास करने के लिए स्वचालित रूप से एक स्ट्रिंग बनाने के लिए लूप ।
जब मैंने इसे अपने द्वारा बनाई गई परीक्षण निर्देशिका पर चलाया तो आउटपुट यहां दिया गया है:
photos/380.zip
photos/asdf382ghj.txt
photos/385.bmp
ध्यान दें कि मैंने वहां एक और फाइल डाली है, a386b.xlsx
, पैटर्न से मेल नहीं खाता और सूची में प्रकट नहीं होता है।