Wie zum hochladen mehrerer Dateien mit Yii-framework 2.0

Arbeit mit Yii framework 2.0-ich möchte in der Lage sein, mehrere Dateien hochladen. Folgende Yii 2 Dokumentation, Unterabschnitt Upload Multiple Files ich habe das folgende Modell.

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;
        }
    }
}

Unten ist meine Ansicht.

<?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() ?>

In meinem controller habe ich folgenden code-snippet.

if (Yii::$app->request->isPost) {
        $model->attachment_file = UploadedFile::getInstances($model, 'attachment_file');
        if ($model->upload()) {
            die();
            //file is uploaded successfully
            return;
        }
}

Alle obigen code, ich erwarte ich kann wählen Sie mehrere Dateien mit einem input-file-element. Aber es ist nicht wie das, was ich erwarte. Wenn ich wählen Sie mehrere Dateien mit einem gleichen input-file-element und drücken Einreichen ich sah nur die Letzte ausgewählte Datei. So fange ich an, Zweifel über, was ich Tue. Habe ich etwas falsch? Oder muss ich die add-input-file-element mehrere Male, ein input-file-element für eine Datei hochladen?

InformationsquelleAutor O Connor | 2015-08-26
Schreibe einen Kommentar