Yii2实用基础学习笔记(九):单文件上传
2016-07-19 00:00
681 查看
摘要: 单文件上传
新建
新建
新建
模型添加上传方法
接收操作
访问
![](http://www.yiichina.com/uploads/images/201607/16220459395_thumb.png)
选择一张图片,上传成功!runtime目录下也存在了刚才上传的图片。
新建
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
![](http://www.yiichina.com/uploads/images/201607/16220459395_thumb.png)
选择一张图片,上传成功!runtime目录下也存在了刚才上传的图片。
相关文章推荐
- PHP排序算法:插入排序 (一维数组)
- Why was SCTP Selected for WebRTC’s Data Channel?
- CCNP笔记——MST上
- WebRTC Data Channels RFC
- PHP JSON数组与对象的理解
- PHP书写规范 PHP Coding Standard
- PHP
- php-删除非空目录
- PHPExcel 的使用
- php-递归创建级联目录
- 分布式部署lamp,phpmyadmin,wordpress的安装与应用
- php cli模式下获取参数的方法
- [php学习六]AJAX练习3-实时搜索
- 理清ThinkPHP的目录结构及访问规则,创建第一个控制器
- 安装icephp 记
- 【php】面向对象
- php-composer-phar常用命令集
- php最基本的增删改查
- pureftpd的搭建
- win8.1 删除 我的电脑中 蓝牙FTP 图标