एक फ़ोल्डर बनाने के लिए अगर यह पहले से मौजूद नहीं है
प्रश्न के वातावरण को देखते हुए।
- वर्डप्रेस।
- वेबहोस्टिंग सर्वर।
- इसके लिनक्स को नहीं विंडोज को PHP मानते हुए।
और से उद्धृत: http://php.net/manual/en/function.mkdir.php
बूल mkdir (स्ट्रिंग $ pathname [, int $ मोड = 0777 [, bool $ recursive = FALSE [, संसाधन $ संदर्भ]]])
मैनुअल का कहना है कि केवल आवश्यक पैरामीटर है $pathname!
तो, हम बस कोड कर सकते हैं:
<?php
error_reporting(0);
if(!mkdir('wp-content/uploads')){
// todo
}
?>
स्पष्टीकरण:
जब तक फ़ोल्डर मौजूद न हो या मोड मोड पैरामीटर पास न हो, तब तक हमें कोई पैरामीटर या जाँच नहीं करनी होगी; निम्नलिखित कारणों के लिए:
- कमांड 0755 अनुमति (साझा होस्टिंग फ़ोल्डर की डिफ़ॉल्ट अनुमति) या 0777 कमांड डिफ़ॉल्ट के साथ फ़ोल्डर बनाएगा।
modePHP को चलाने वाले Windows होस्टिंग पर ध्यान नहीं दिया जाता है ।
mkdirयदि फ़ोल्डर मौजूद है, तो पहले से ही कमांड ने चेकर में निर्माण किया है; इसलिए हमें केवल वापसी की जाँच करने की आवश्यकता है। और इसकी त्रुटि नहीं है, इसकी चेतावनी केवल है, और चेतावनी डिफ़ॉल्ट रूप से सर्वर की मेजबानी में अक्षम है।
- गति के अनुसार, यह तेज़ है अगर चेतावनी अक्षम है।
यह सवाल पर गौर करने और बेहतर या सबसे इष्टतम समाधान का दावा नहीं करने का सिर्फ एक और तरीका है।
PHP7, उत्पादन सर्वर, लिनक्स पर परीक्षण किया गया
if (!file_exists('path/to/directory')) { mkdir('path/to/directory', 0777, true); }