1. 云栖社区>
  2. PHP教程>
  3. 正文

Yii2实用基础学习笔记(九):单文件上

作者:用户 来源:互联网 时间:2017-12-01 20:42:15

文件上传学习基础笔记实用yii2

Yii2实用基础学习笔记(九):单文件上 - 摘要: 本文讲的是Yii2实用基础学习笔记(九):单文件上, 新建 Upload.php 模型。 <?phpnamespace app/models;use yii/base/Model;class Upload extends Model{ public $image;}新建 UploadC

新建 Upload.php 模型。


<?php
namespace app/models;
use yii/base/Model;
class Upload extends Model{
public $image;
}

新建 UploadController.php 控制器。


<?php
namespace app/controllers;
use yii/web/Controller;
class UploadController extends Controller{
public function actionUpload(){

}
}

新建 upload.php 视图。


<?php
use yii/helpers/Html;
?>一、Upload.php模型添加模型验证 public function rules(){
return [
[['image'],'file','skipOnEmpty' => false,'checkExtensionByMimeType' => false,'extensions' => 'jpg,jpeg,png']
];
}

更多验证请参考:http://www.yiichina.com/doc/api/2.0/yii-validators-validator

模型添加上传方法 public function upload(){
if($this->validate()){
$this->image->saveAs('../runtime/'.$this->image->baseName.'.'.$this->image->extension);
return true;
}else{
return false;
}
}二、upload.php视图添加上传表单 <?=Html::beginForm('','post',['enctype' => 'multipart/form-data']);?>
<?=Html::activeFileInput($model,'image',['class' => 'upload']);?>
<?=Html::submitButton('提交',['class' => 'btn btn-primary']);?>
<?=Html::endForm();?>三、UploadController.php控制器引入UploadedFile类和Upload模型命名空间 use yii/web/UploadedFile;
use app/models/Upload;
接收操作 public function actionUpload(){
$upload = new Upload();
if(/Yii::$app->request->isPost){
$upload->image = UploadedFile::getInstance($upload,'image');
if($upload->upload()){
echo '上传成功!';
}else{
var_dump($upload->getErrors());
}
}
return $this->render('upload',['model' => $upload]);
}

访问http://localhost/yii2/web/index.php?r=upload/upload


Yii2实用基础学习笔记(九):单文件上


选择一张图片,上传成功。runtime目录下也存在了刚才上传的图片。



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件 , 上传 , 学习 , 基础 , 笔记 , 实用 yii2 ,以便于您获取更多的相关知识。