Yii2使用表單上傳檔案

2021-08-02 09:24:39 字數 2166 閱讀 3761

webclz

2015-01-06 17:04:57

24483次瀏覽

569 0

首先建立乙個模型models/uploadform.php,內容如下

namespace

useyii\base\model;

useyii\web\uploadedfile;

/** * uploadform is the model behind the upload form.

*/class

uploadform

extends

model

}

再建立乙個視**件,內容如下

<?php

useyii\widgets\activeform;

?>

<?php $form = activeform::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>

<?= $form->field($model, 'file')->fileinput() ?>

submit

<?php activeform::end() ?>

最後建立控制器檔案,內容如下

namespace

useyii;

useyii\web\controller;

useuse

yii\web\uploadedfile;

class

sitecontroller

extends

controller

}return

$this->render('upload', ['model' => $model]);

}}

注意這裡我們沒有用model->load(...),而是用了uploadedfile::getinstance(...)。區別是後者不會執行$model->validate(),所以需要手動的去執行$model->validate()來檢驗資料的合法性。如果檢驗通過了,上傳的檔案儲存在uploads資料夾下,即web目錄下的uploads裡。

一些可選的配置選項

上傳檔案不能為空

public

function

rules

()

上傳型別,不僅可以根據副檔名檢驗,還可以根據檔案的內容進行檢驗

public

function

rules

()

如果你想一次上傳多個檔案,只需調節幾個引數就可以達到目的

model:

class

uploadform

extends

model

}

view:

<?php

useyii\widgets\activeform;

$form = activeform::begin(['options' => ['enctype' => 'multipart/form-data']]);

?>

<?= $form->field($model, 'file')->fileinput(['multiple' => true]) ?>

submit

<?php activeform::end(); ?>

與單檔案上傳不同的是下面這句

$form->field($model, 'file')->fileinput(['multiple' => true])
controller:

namespace

useyii;

useyii\web\controller;

useuse

yii\web\uploadedfile;

class

sitecontroller

extends

controller}}

return

$this->render('upload', ['model' => $model]);

}}

Yii2建立表單

文字框 textinput 密碼框 passwordinput 單選框 radio radiolist 核取方塊 checkbox checkboxlist 下拉框 dropdownlist 隱藏域 hiddeninput 文字域 textarea rows 3 檔案上傳 fileinput 提交按...

yii2表單學習

呼叫 request 元件寫法 在controller 檔案中定義方法名字時,如果名字是駝峰形,即 actionshowuser 這樣子的,訪問鏈結需要寫為 web index.php?r test show user,需要在兩個單詞中間加上一條短橫線 等價於 表單的建立 addform class...

yii2檔案上傳

file files myfile uploads newuploads res uploads up file ress ltrim res gift img 路徑 ress 新增入庫 re yii db createcommand insert gift gift img gift img ex...