Yii2使用自带的UploadedFile实现的文件上传


Posted in PHP onJune 20, 2016

我们先来看看在yii2中支持的图片上传怎么进行处理的。

首先我们创建model\Upload.php文件

<?php
namespace backend\models;
use Yii;
use yii\web\UploadedFile;
class Upload extends \yii\db\ActiveRecord
{
/**
* @var UploadedFile|Null file attribute
*/
public $file;
/**
* @return array the validation rules.
*/
public function rules()
{
return [
[["file"], "file",],
];
}
}

下面我们看看view层是怎么渲染的

<?php
use yii\widgets\ActiveForm;
$form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"]]); ?>
<?= $form->field($model, "file")->fileInput() ?>
<button>Submit</button>
<?php ActiveForm::end(); ?>

最后实现controller层的实现

namespace backend\controllers;
use backend\models\Upload;
use yii\web\UploadedFile;
class ToolsController extends \yii\web\Controller
{
/**
* 文件上传
* 我们这里上传成功后把图片的地址进行返回
*/
public function actionUpload ()
{
$model = new Upload();
$uploadSuccessPath = "";
if (Yii::$app->request->isPost) {
$model->file = UploadedFile::getInstance($model, "file");
//文件上传存放的目录
$dir = "../../public/uploads/".date("Ymd");
if (!is_dir($dir))
mkdir($dir);
if ($model->validate()) {
//文件名
$fileName = date("HiiHsHis").$model->file->baseName . "." . $model->file->extension;
$dir = $dir."/". $fileName;
$model->file->saveAs($dir);
$uploadSuccessPath = "/uploads/".date("Ymd")."/".$fileName;
}
}
return $this->render("upload", [
"model" => $model,
"uploadSuccessPath" => $uploadSuccessPath,
]);
}
}

以上所述是小编给大家介绍的Yii2使用自带的UploadedFile实现的文件上传的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php笔记之常用文件操作
Oct 12 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
Jan 09 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
PHP中的Streams详细介绍
Nov 12 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
Yii 框架使用Forms操作详解
May 18 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 #PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 #PHP
php中的登陆login实例代码
Jun 20 #PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
Jun 19 #PHP
php打乱数组二维数组多维数组的简单实例
Jun 17 #PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 #PHP
PHP 数组基本操作方法详解
Jun 17 #PHP
You might like
PHP中路径问题的解决方案
2006/10/09 PHP
PHP extract 将数组拆分成多个变量的函数
2010/06/30 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
php使用PDO方法详解
2014/12/27 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
jquery ready函数源代码研究
2009/12/06 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
简单介绍Python中的floor()方法
2015/05/15 Python
python字符类型的一些方法小结
2016/05/16 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Python接口开发实现步骤详解
2020/04/26 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
单位办理社保介绍信
2014/01/10 职场文书
计算机毕业生求职信
2014/06/10 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
广播体操比赛主持词
2015/06/29 职场文书
python数据分析之用sklearn预测糖尿病
2021/04/22 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android