Yii框架单文件上传

来源:互联网 发布:证券分析师 知乎 编辑:程序博客网 时间:2024/05/29 10:08

一、但图片上传
注意:本案例在yii框架高级模板的frontend代码操作

/***model层*imagsForm.php*/<?phpnamespace frontend\models;use yii\base\Model;use yii\web\UploadedFile;/*** */class InamgesForm extends Model{    // public $imageFile;    // public $area;     public $imageFile;    public function rules()    {        return [            [['imageFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg'],        ];    }    public function upload()    {        if ($this->validate()) {           $imageName = substr(time(),4).rand(111,999);           // $this->imageFile->baseName             $this->imageFile->saveAs('uploads/' . $imageName . '.' . $this->imageFile->extension);            return $imageName . '.' . $this->imageFile->extension;        } else {            return false;        }    }}

控制器层

/***IamgesController.php*/<?php/** * @author:木子 */namespace frontend\controllers;use Yii;use yii\web\Controller;use frontend\models\InamgesForm;use yii\web\UploadedFile;/*** */class ImagesController extends Controller{    public function actionUpload()    {        $model = new InamgesForm();        if(yii::$app->request->isPost)        {            // $allImage=UploadedFile::getInstance($model, 'imageFile');            // var_dump($allImage);die;         $model->imageFile = UploadedFile::getInstance($model, 'imageFile');            if (!$image = $model->upload()) {                 echo "<script> alert(error::01 文件上传失败)<script>";              }else{                 // 文件本地上传成功  dao入库                $dao = Yii::$app->db;                $data = ['imageFile'=>$image];                $info = $dao->createCommand()->insert('images',$data)->execute();                if(!$info){                    echo "<script> alert(error::02 文件入库失败!)</script>";                }                 echo "流程完成!";die;            }        }        return $this->render('upload',['model'=>$model]);    }}

视图层

/***iamge.php*/<?phpuse yii\widgets\ActiveForm;?><?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>    <?= $form->field($model, 'imageFile')->fileInput() ?>    <button>Submit</button><?php ActiveForm::end() ?>
原创粉丝点击