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 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
两个强悍的php 图像处理类1
Jun 15 PHP
url decode problem 解决方法
Dec 26 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
Apr 08 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
Nov 18 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
PHP入门教程之图像处理技巧分析
Sep 11 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
php弹出提示框的是实例写法
Sep 26 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
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
php实现头像上传预览功能
2017/04/27 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
JavaScript中具名函数的多种调用方式总结
2014/11/08 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
[00:56]跨越时空加入战场 全新祈求者身心“失落奇艺侍祭”展示
2019/07/20 DOTA
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python编写暴力破解FTP密码小工具
2014/11/19 Python
利用python获取Ping结果示例代码
2017/07/06 Python
python实现QQ批量登录功能
2019/06/19 Python
python异常处理和日志处理方式
2019/12/24 Python
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
应聘面试自我评价
2014/01/24 职场文书
挂职学习心得体会
2014/09/09 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
焦点访谈观后感
2015/06/11 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers