अपलोड में निर्देशिका बनाना - wp_mkdir_p () या WP_Filesystem?


9

मुझे नहीं लगता कि मुझे पहले कभी भी WP में फ़ोल्डर्स / फाइलें बनाने की व्यावहारिक आवश्यकता थी, लेकिन एक प्लगइन के लिए मुझे (रिसाइज्ड छवियों के लिए) फ़ोल्डर में कैश की आवश्यकता है wp-content/uploads

जो सवाल उठाता है - क्या मुझे वास्तव में जरूरत के साथ सभी प्रक्रिया से गुजरने की जरूरत है Filesystem API(जिसमें गड़बड़ से एफ़टीपी क्रेडेंशियल के लिए पूछना), या wp_mkdir_p()इसके लिए काफी अच्छा है?

जवाबों:


7

wp-content/uploads/सर्वर के लिए उपयुक्त होना चाहिए (अन्यथा फ़ाइल अपलोड करना असंभव होगा, नहीं?)। यदि आप इस निर्देशिका के तहत कुछ बनाने जा रहे हैं, तो इसका उपयोग करना सुरक्षित है wp_mkdir_p()

मैं केवल तभी उपयोग करूंगा WP_Filesystemजब ऐसा मौका होगा जब सर्वर के पास स्थान लिखने की अनुमति नहीं है, जैसे कि wp-content/plugins/, जिसमें सर्वर के लिए लिखने योग्य नहीं है (कम से कम मुझे लगता है कि यह होना जरूरी नहीं है?)।

सिडेनोट: कोडेक्स का फ़ाइल अनुमतियाँ पृष्ठ भी एक wp-content/cache/निर्देशिका के बारे में बात करता है । क्या यह कैश फ़ाइलों के लिए "अधिक मानक" स्थान होगा?


मुझे यकीन नहीं है, लेकिन मुझे लगता cacheहै कि पेज कैशिंग प्लगइन्स जैसे सामान के बारे में अधिक है, जबकि मेरा मामला छवियों के वैकल्पिक संस्करणों के बारे में अधिक है ... इन फ़ोल्डरों के बीच का अंतर तकनीकी के बजाय अर्थ लगता है, नहीं?
रारस्ट

6

मैं कुछ आसान करने की कोशिश करूँगा, कब्जे वाले / होस्टिंग सेटअप के अंतहीन समुद्र के साथ खिलवाड़ करने से पहले:

$target = 'wherever';
wp_mkdir_p( $target );

if ( wp_mkdir_p( $target ) === TRUE )
{
    echo "Folder $target successfully created";
}
else
{
    new WP_Error; #... etc. Just tell where the user has to make a new folder with the name xy
    // or if you're kool, you use _doing_it_wrong(); ... ;-)
}

Btw: इसका परीक्षण नहीं किया गया है और मुझे कोई सुराग नहीं मिला है कि क्या wp_mkdir_p();निष्पादन के बाद जाँच की जा सकती है या एफ.एन. का निष्पादन यदि विवरण के अंदर होना चाहिए तो नहीं किया जा सकता है ... (पहले कभी इसका इस्तेमाल नहीं किया था और फ़ंक्शन के बारे में तब तक भी नहीं जान पाया था। अभी)।
कैसर

संबंधित कार्यक्षमता बैक-एंड-ईश की तरह है ... मैं अन्तरक्रियाशीलता को कम करना चाहूंगा। हालांकि प्लगइन की सेटिंग में संदेश विचार करने योग्य है।
रार्स्ट

मैं इसके बारे में बहुत ज्यादा नहीं सोचता। यदि उपयोगकर्ता sys इसे डिफ़ॉल्ट मानों के साथ नहीं कर सकते हैं, तो उन्हें यह बताने का प्रयास करें कि क्या करना है। जैसा कि मैंने कहा: Possibilites अंतहीन और imho हैं आप बेहतर बता रहे हैं कि कोड या समर्थन के माध्यम से इसे शूट करने के लिए प्रयास जारी रखने के लिए परिणाम क्या होना चाहिए।
kaiser

4

आपके प्लग-इन फ़ाइलों / फ़ोल्डरों को बनाने के लिए बस एक सिर: मेरे प्लगइन ने ऐसा ही किया, और मैं विभिन्न उपयोगकर्ताओं के लिए फ़ाइल अनुमतियों के साथ समस्याओं के एक समूह में भाग गया। कुछ खिड़कियां हैं, कुछ यूनिक्स हैं, कुछ होस्ट हैं, और कुछ घर उगाए गए हैं। प्लगइन साझा करने के बाद यह मेरा # 1 समर्थन ईमेल था।

मैंने फ़ाइल सिस्टम को छूने की आवश्यकता को कम करने के लिए अपने कोड को फिर से चालू कर दिया है और अपलोड निर्देशिका केवल एक ही है जिसका उपयोग मैं ऐसे मुद्दों से बचने के लिए करता हूं।


हाँ, मैं समझता हूँ कि, इसीलिए मैं सवाल पूछने की जहमत उठाता हूँ। इस मुद्दे का मेरा वर्तमान अवलोकन यह है कि यदि uploadsWP को विफल करने के लिए पर्याप्त रूप से लॉक किया गया है, तो प्लगइन के लिए कोशिश करने और अधिक करने का कोई अर्थ नहीं है। और अगर यह WP के लिए काफी अच्छा है तो यह प्लगइन के लिए काफी अच्छा है। सौभाग्य से मुझे केवल कैश निर्देशिका की आवश्यकता है और कुछ और अधिक जटिल और त्रुटियों से ग्रस्त नहीं है।
रारस्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.