का उपयोग करके एकाधिक फ़ाइलों को अपलोड करने के लिए कैसे करें वाईआई फ्रेमवर्क 2.0 के साथ काम करना मैं कई फाइलें अपलोड करने में सक्षम होना चाहता हूं। उपखंड Upload Multiple Files
के तहत, Yii 2 documentation के बाद, मेरे पास निम्न मॉडल है।वाईआई फ्रेमवर्क 2.0
class Newsletter extends \yii\db\ActiveRecord {
public $attachment_file;
public function rules()
{
return [
[['attachment_file'], 'file', 'maxFiles' => 5],
];
}
public function upload() {
if ($this->validate()) {
foreach ($this->attachment_file as $file) {
echo '<pre>'; print_r($file); echo '</pre>';
}
return true;
} else {
return false;
}
}
}
नीचे मेरा विचार है।
<?php use yii\widgets\ActiveForm; ?>
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
<?= $form->field($model, 'attachment_file[]')->fileInput(['multiple' => true,]) ?>
<button>Submit</button>
<?php ActiveForm::end() ?>
मेरे नियंत्रक में मेरे पास निम्न कोड स्निपेट है।
if (Yii::$app->request->isPost) {
$model->attachment_file = UploadedFile::getInstances($model, 'attachment_file');
if ($model->upload()) {
die();
// file is uploaded successfully
return;
}
}
उपर्युक्त सभी कोड के साथ मैं उम्मीद करता हूं कि मैं एक इनपुट फ़ाइल तत्व के साथ कई फाइलों का चयन कर सकता हूं। लेकिन यह मेरी अपेक्षा की तरह नहीं है। जब मैं एक ही इनपुट फ़ाइल तत्व के साथ एकाधिक फ़ाइलों का चयन करता हूं और सबमिट हिट करता हूं तो मैंने केवल अंतिम चयनित फ़ाइल देखी। इसलिए मुझे संदेह होना शुरू हो रहा है कि मैं क्या कर रहा हूं। क्या मैंने कुछ गलत किया था? या मुझे एक अपलोड फ़ाइल के लिए कई बार इनपुट फ़ाइल तत्व जोड़ने की आवश्यकता है, एक इनपुट फ़ाइल तत्व?
मैंने आपके कोड का प्रयास किया है। सबसे पहले मैं ध्यान देता हूं कि जब मैं फ़ाइलें चुनें बटन पर क्लिक करता हूं और फ़ाइल को कई बार चुनता हूं तो मुझे केवल अंतिम चयनित फ़ाइल दिखाई देती है। दूसरा, मैं आपके कंट्रोलर के फ़ोरैच लूप के अंदर $ फ़ाइल वैरिएबल को प्रतिबिंबित करता हूं, जब मैं अपलोड बटन दबाता हूं तो मुझे अंतिम चयनित फ़ाइल का केवल एक yii \ web \ uploadedFile ऑब्जेक्ट दिखाई देता है। कृपया मुझे बताएं कि यह कई फाइलें कब अपलोड करता है। या मुझे इनपुट फ़ाइल को कई बार जोड़ने की ज़रूरत है? –
कोड पूर्ण है जो मैं प्रोजेक्ट में उपयोग कर रहा हूं। फॉर्म पोस्ट डेटा डीबग करने के लिए। – ankitr