मैं एक प्रबंधित_फाइल फ़ॉर्म फ़ील्ड के लिए अनुमत एक्सटेंशन कैसे सेट करूं?


27

किसी भी भाग्य के पास नहीं है यह Drupal प्रलेखन या डेवलपर उदाहरणों में मिलता है। मुझे एक Drupal 7 कस्टम मॉड्यूल में केवल ज़िप फ़ाइलों को अनुमति देने के लिए एक प्रबंधित_फाइल फॉर्म फ़ील्ड सेट करने की आवश्यकता है।

जवाबों:


40
$form['picture']['file'] = array(
  '#type' => 'managed_file',
  '#title' => t('picture'),
  '#description' => t('Allowed extensions: gif png jpg jpeg'),
  '#default_value' => (isset($foo->picture->fid) ? $foo->picture->fid : ''),
  '#upload_location' => variable_get('picture_upload_location'),
  '#upload_validators' => array(
    'file_validate_extensions' => array('gif png jpg jpeg'),
    // Pass the maximum file size in bytes
    'file_validate_size' => array(MAX_FILE_SIZE*1024*1024),
  ),
);

1
मैंने file_validate_size की कोशिश की, लेकिन यह काम नहीं कर रहा है।
ARUN

यह मेरे लिए काम नहीं करता है।
Mr_DeLeTeD

हम $ फू से आते हैं?
khaled_webdev

ऐसा लगता है कि यदि आप किसी फ़ाइल को मैन्युअल रूप से सहेजते हैं तो सत्यापन स्वचालित रूप से नहीं होता है। मुझे इसे इस तरह करना था:$file = file_save_upload('file', $form['picture']['file']['#upload_validators']);
लक्सट

यह Drupal 8 में भी काम करता है
sanzante

1

मुझे यकीन नहीं है कि आप Drupal 6 या Drupal 7 का उपयोग कर रहे हैं, लेकिन Drupal 6 में आप चुनेंगे:

  • व्यवस्थापन > सामग्री > सामग्री प्रकार > [आपकी सामग्री प्रकार]> फ़ील्ड प्रबंधित करें > [अपनी फ़ाइल फ़ील्ड संपादित करें] और "अनुमत अपलोड फ़ाइल एक्सटेंशन" की फ़ील्ड सेटिंग देखें।

  • उस फ़ील्ड में, ज़िप दर्ज करें

ड्रुपल 7 शायद इसी तरह का है। व्यवस्थापक > संरचना के अंतर्गत सामग्री प्रकारों के लिए देखें ।


Drupal 7, चूक के लिए खेद है। मैं एक कस्टम मॉड्यूल में एक प्रबंधित_फ़ील्ड फॉर्म आइटम का उपयोग कर रहा हूं, इसलिए व्यवस्थापक मदद करने के लिए नहीं जा रहा है। मुझे एक प्रोग्रामिंग समाधान की आवश्यकता है।
गैरट

4
मेरा मानना ​​है कि आप #upload_validators: $ फॉर्म ['फ़ाइल'] ['# अपलोड_वैलिडेटर्स'] ['file_validate_extensions'] [0] = 'png jpg gif pdf' का उपयोग कर सकते हैं;
NEAR DARK

NEAR DARK ने इसे जीता। यह महसूस करने के लिए उस पंक्ति में चिपकाना पड़ा कि मुझे अपने मूल रूप आइटम सरणी में एक टाइपो था। इसलिए मूल रूप से, यह एपी का एक अच्छी तरह से प्रलेखित फीचर है जो मुझे वर्तनी की त्रुटि के कारण नहीं मिल रहा था। क्षमा करें दोस्तों।
गैरेट

नोट: Drupal 6 में केवल फ़ाइल के लिए कोई प्रबंधित_फ़ाइल फ़ॉर्म फ़ील्ड नहीं है। स्रोत: Drupal 6 फार्म API संदर्भ
बार्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.