अस्थायी फ़ाइलें कहाँ बनाई जाती हैं?


12

मैं जानना चाहता हूं कि ड्रुपल (या इसके मॉड्यूल) कहां अस्थायी फाइलें बनाते हैं। क्या उन्हें साइटों / डिफ़ॉल्ट में रखा गया है?

मैं विशेष रूप से Drupal 6 के बारे में बात कर रहा हूँ।


मॉड्यूल ड्रूपल साइट पर कहीं भी अस्थायी फाइल बनाने की कोशिश कर सकता है , लेकिन केवल वही सफल होगा जहां सर्वर कॉन्फ़िगरेशन इसकी अनुमति देता है। : देखो drupal.org/node/244924
August1914

जवाबों:


16

फाइलें निर्देशिका में बनाई जाती हैं जिनका नाम file_directory_temp () से लौटाया जाता है:

  • Drupal वैरिएबल "file_temporary_path" का मान, जो सेटिंग पृष्ठ से व्यवस्थापक / कॉन्फ़िगरेशन / मीडिया / फ़ाइल-सिस्टम (Drupal 7) या व्यवस्थापक / सेटिंग्स / फ़ाइल-सिस्टम (Drupal 6) पर सेट होता है।

  • यदि Drupal वैरिएबल सेट नहीं है, तो फ़ंक्शन निम्न निर्देशिकाओं में से एक की जाँच करता है; यदि उन निर्देशिकाओं में से एक मौजूद है, तो इसे लौटा दिया जाता है (और उपयोग किया जाता है)।

    • निर्देशिका से लौट आए ini_get('upload_tmp_dir')
    • विंडोज पर, निर्देशिका "c: \ windows \ temp" और "c: \ winnt \ temp।"
    • विंडोज़ से अलग OSes पर, निर्देशिका "/ tmp।"
    • PHP संस्करण 5.2.1 या उच्चतर पर, निर्देशिका द्वारा लौटाया गया sys_get_temp_dir()
  • यदि चर "file_temporary_path" सेट नहीं है, और मैंने पिछले बिंदु में सूचीबद्ध निर्देशिकाएं मौजूद नहीं हैं, या लेखन योग्य नहीं हैं, तो फ़ंक्शन Drupal चर "file_public_path" के मूल्य का उपयोग करता है; डिफ़ॉल्ट रूप से उस डायरेक्टरी का मान conf_path() . '/files'होता है जो डायरेक्टरी में मौजूद "फाइलें" होती है जिसमें ड्रुपल साइट के लिए सेटिंग .php फाइल का इस्तेमाल होता है।

फ़ंक्शन ने चर "file_temporary_path" को उस निर्देशिका में सेट किया जो इसे मिली थी।

जहां तक ​​मुझे पता है, कोई भी मॉड्यूल "अस्थायी: //" (केवल ड्रुपल 7 और उच्चतर में उपलब्ध) या उपयोग के साथ शुरू होने वाले पथ का उपयोग करके अस्थायी फाइलें खोलता है file_directory_temp()। निर्देशिका से लौटी निर्देशिका file_directory_temp()सिस्टम से सिस्टम में बदल सकती है, लेकिन मॉड्यूल हमेशा उस निर्देशिका का उपयोग करते हैं।

Drupal मॉड्यूल में निर्देशिका युक्त मॉड्यूल लिखने की अनुमति नहीं है; यह काफी मुश्किल है कि एक मॉड्यूल अस्थायी फ़ाइलों को बनाने के लिए उस निर्देशिका का उपयोग करता है। यदि आपको कोई ऐसा मॉड्यूल मिलता है जो निर्देशिका युक्त मॉड्यूल का उपयोग करता है (या उस निर्देशिका की कोई उप-निर्देशिका) रिपोर्ट करता है कि बग के रूप में।


क्या आपका जवाब Drupal 6 या Drupal 7 पर लागू होता है?
स्ट्राइकर

1
यह दोनों पर लागू होता है, के रूप में file_directory_temp()Drupal 6 में भी परिभाषित किया गया है, और समारोह के लिए कोड Drupal 6 से Drupal 7 के लिए गुजर परिवर्तन नहीं करता है
kiamlaluno

3

व्यवस्थापक / सेटिंग / फ़ाइल-सिस्टम पर सेटिंग पृष्ठ में अस्थायी फ़ाइलों के लिए उपयोग की जाने वाली निर्देशिका के लिए सेटिंग्स हैं।

कुछ मॉड्यूल अस्थायी फ़ाइलों के लिए एक अलग निर्देशिका चुन सकते हैं। कोई मानक फ़ोल्डर स्थान नहीं है।

उदाहरण के लिए, ctools मॉड्यूल / साइट्स / डिफ़ॉल्ट / फ़ाइलों / ctools निर्देशिका में अस्थायी कैश्ड फ़ाइलें बनाएगा। तो यह अलग-अलग हो सकता है।


क्या आप कह रहे हैं कि ड्रूपल साइट में कहीं भी एक मॉड्यूल अस्थायी फ़ाइल बना सकता है? क्या यह रूट / थीम रूट / मॉड्यूल आदि में भी बना सकता है?
AgA

हाँ, मॉड्यूल कहीं भी अस्थायी फ़ाइलें बना सकते हैं। वे आमतौर पर उन्हें एक फ़ोल्डर में रखते हैं, जैसा कि ctools करता है। मेरे अनुभव मॉड्यूल से अपनी स्वयं की अस्थायी निर्देशिका बनाना दुर्लभ है। अधिकांश मॉड्यूल डिफ़ॉल्ट अस्थायी निर्देशिका का उपयोग करता है जिसके बारे में क्रिस बात करता है।
iStryker

@iStryker आज मैंने अपनी वेबसाइट की उस रिपोर्ट / स्थिति अनुभाग में एक त्रुटि देखी, जिसमें कहा गया है कि "फाइलें निर्देशिका संरक्षित नहीं है" और drupal.org/forum/newsletters/… पर सुझाव दिया कि फाइलों की निर्देशिका में .htaccess बनाएं और "Deny from" भी। सभी ".htaccess कोड निष्पादन रोकथाम के लिए अस्थायी फ़ाइलों निर्देशिका में पाया गया। मैं उलझन में हूं। क्या यह एक 'tmp' फ़ोल्डर है जहाँ कुछ या हर मॉड्यूल का अपना फ़ोल्डर होता है? क्या मुझे हर फोल्डर में .htaccess फाइल डालनी है?
उमैर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.