yii2利用自带UploadedFile实现上传图片的示例


Posted in PHP onFebruary 16, 2017

本人搜索了很多关于yii2利用自带UploadedFile实现上传图片介绍,下面我来记录一下。

创建一个 models/UploadForm.php:

namespace app\models;

use yii\base\Model;
use yii\web\UploadedFile;

/**
* UploadForm is the model behind the upload form.
*/
class UploadForm extends Model
{
 /**
 * @var UploadedFile file attribute
 */
 public $file;

 /**
 * @return array the validation rules.
 */
 public function rules()
 {
  return [
   [['file'], ‘file'],
  ];
 }
}

视图文件

<?php
use yii\widgets\ActiveForm;
?>

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

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

<button>Submit</button>

<?php ActiveForm::end() ?>

控制器

use app\models\UploadForm;
use yii\web\UploadedFile;



public function actionUpload()
{
 $model = new UploadForm();

 if (Yii::$app->request->isPost) {
  $model->file = UploadedFile::getInstance($model, ‘file');

  if ($model->file && $model->validate()) {
   $model->file->saveAs(‘uploads/' . $model->file->baseName . ‘.' . $model->file->extension);
  }
 }

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
五款常用mysql slow log分析工具的比较分析
May 22 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
php数组删除元素示例
Mar 21 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
PHP类的声明与实例化及构造方法与析构方法详解
Jan 26 PHP
PHPstorm快捷键(分享)
Jul 17 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
Aug 14 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
PHP7新特性
Mar 09 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 #PHP
php UNIX时间戳用法详解
Feb 16 #PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 #PHP
php实现文件与16进制相互转换的方法示例
Feb 16 #PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 #PHP
php使用PDO执行SQL语句的方法分析
Feb 16 #PHP
php四种定界符详解
Feb 16 #PHP
You might like
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
JS IE和FF兼容性问题汇总
2009/02/09 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
python ElementTree 基本读操作示例
2009/04/09 Python
Python实现的快速排序算法详解
2017/08/01 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python单例模式的多种实现方法
2019/07/26 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
劳动之星获奖感言
2014/02/01 职场文书
2014年元旦感言
2014/03/06 职场文书
上课说话检讨书500字
2014/11/01 职场文书
贷款收入证明格式
2015/06/24 职场文书
2019各种承诺书范文
2019/06/24 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js