"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > ## विश्वसनीय रूप से यह कैसे निर्धारित करें कि PHP में कोई निर्देशिका खाली है?

## विश्वसनीय रूप से यह कैसे निर्धारित करें कि PHP में कोई निर्देशिका खाली है?

2024-11-08 को प्रकाशित
ब्राउज़ करें:705

## How to Reliably Determine if a Directory is Empty in PHP?

PHP में निर्देशिका रिक्तता का सत्यापन करना

यह निर्धारित करना कि कोई निर्देशिका खाली है या नहीं, विभिन्न वेब विकास परिदृश्यों में एक महत्वपूर्ण कार्य हो सकता है। हालाँकि, कुछ स्क्रिप्ट्स में समस्याएँ आ सकती हैं जहाँ आउटपुट फ़ाइलों की उपस्थिति या अनुपस्थिति के बावजूद गलत तरीके से एक खाली या गैर-रिक्त निर्देशिका का सुझाव देता है।

मूल स्क्रिप्ट

प्रदान की गई स्क्रिप्ट निम्नलिखित कोड का उपयोग करके निर्देशिका रिक्तता की जांच करने का प्रयास करती है:

$q = (count(glob("$dir/*")) === 0) ? 'Empty' : 'Not empty';

हालाँकि, ग्लोब() फ़ंक्शन यूनिक्स छिपी हुई फ़ाइलों का पता लगाने में विफल हो सकता है, जिससे गलत परिणाम हो सकते हैं।

बेहतर समाधान

इस समस्या को हल करने के लिए, हम ग्लोब() के बजाय स्कैंडिर() फ़ंक्शन का उपयोग करने की सलाह देते हैं, क्योंकि यह नियमित और छिपी हुई दोनों फ़ाइलों का पता लगा सकता है। इसके अतिरिक्त, दक्षता में सुधार के लिए, हम रिक्तता की अधिक तेज़ी से जांच करने के लिए एक कस्टम फ़ंक्शन का उपयोग कर सकते हैं:

function is_dir_empty($dir) {
  return (count(scandir($dir)) == 2);
}

यह फ़ंक्शन जांचता है कि क्या निर्देशिका में केवल दो प्रविष्टियां हैं: वर्तमान निर्देशिका ("") और मूल निर्देशिका (""।"), एक खाली निर्देशिका का संकेत देती है।

सर्वोत्तम अभ्यास

सर्वोत्तम अभ्यास के रूप में, "खाली" या "खाली नहीं" जैसे टेक्स्ट स्ट्रिंग्स पर भरोसा करने के बजाय सीधे नियंत्रण संरचनाओं में बूलियन मानों का उपयोग करने की सलाह दी जाती है। बूलियन अभिव्यक्तियाँ खाली या गैर-रिक्त स्थितियों को निर्धारित करने के लिए अधिक संक्षिप्त और सटीक तरीका प्रदान करती हैं।

उदाहरण के लिए, उपयोग करने के बजाय:

if ($q == "Empty") {
  // ...
}

आप सीधे इसका उपयोग कर सकते हैं:

if (is_dir_empty($dir)) {
  // ...
}
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3