2011-03-17 12 views
26

मुझे पता होना चाहिए कि पथ मौजूद नहीं है तो नया फ़ोल्डर बनाने का कोई तरीका है या नहीं। जब मैं पथ को fopen() करने का प्रयास करता हूं, तो यह कहता है कि NO such File or Directory exists मैंने 'w' और 'w +' का उपयोग करके फ़ाइल खोलने का प्रयास किया लेकिन यह नया फ़ोल्डर बनाने में सक्षम नहीं है। Mkdir() का उपयोग किये बिना इसे हासिल करने का कोई तरीका है। क्योंकि मुझे पथ से mkdir() हर समय निर्देशिका नामों को निकालने की आवश्यकता है। किसी भी मदद की सराहना की है। धन्यवाद ...PHP: फ़ोल्डर बनाने के लिए fopen

उत्तर

65

fopen निर्देशिका नहीं बना सकते हैं।

आप की तरह कुछ का उपयोग करना होगा:

$filename = '/path/to/some/file.txt'; 
$dirname = dirname($filename); 
if (!is_dir($dirname)) 
{ 
    mkdir($dirname, 0755, true); 
} 
+0

बहुत बढ़िया ... बहुत बहुत धन्यवाद ... यह दोषपूर्ण काम करता है ... – Vivek

3

आप फ़ोल्डर बनाने के लिए fopen का उपयोग नहीं कर सकते हैं।
एक फ़ोल्डर बनाने के लिए आपको mkdir

का उपयोग करने के लिए आपको हर बार दोहराने के लिए, "उपयोगकर्ता द्वारा परिभाषित फ़ंक्शंस" नामक एक भाषा सुविधा है। PHP की सबसे ज्ञात विशेषता, जैसा कि कोई स्टैक ओवरफ्लो उत्तरों द्वारा निर्णय ले सकता है।

+3

> आपरेशन आप हर बार दोहराना के लिए, वहाँ नामक एक भाषा की सुविधा है "उपयोगकर्ता पर गौर करना चाहिए सामग्री है पढ़ने के लिए एक तरह से करने के लिए देख रहे हैं -निर्धारित कार्य "। PHP की सबसे ज्ञात विशेषता, जैसा कि कोई स्टैक ओवरफ्लो उत्तरों द्वारा निर्णय ले सकता है: एलओएल – nbrogi

6

fopen या खुले फ़ोल्डर, केवल वे फ़ाइलें नहीं बना है। यदि यह मौजूद नहीं है, तो आपको is_dir से पहले जांच करनी चाहिए। mkdir में एक रिकर्सिव बिल्ड विकल्प है।

if (!is_dir($myDir)) { 
    mkdir($myDir, 0777, true); // true for recursive create 
} 

आप एक निर्देशिका खोलने के लिए और यह आप एसपीएल के DirectoryIterator

+0

thx आपके उत्तर के लिए ... – Vivek

संबंधित मुद्दे