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 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
Jul 04 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 PHP
php面向对象值单例模式
May 03 PHP
php 使用curl模拟登录人人(校内)网的简单实例
Jun 06 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
Jun 30 PHP
Ajax+PHP实现的模拟进度条功能示例
Feb 11 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
几行代码轻松实现PHP文件打包下载zip
2017/03/01 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
js转html实体的方法
2016/09/27 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
python中MySQLdb模块用法实例
2014/11/10 Python
python中字符串类型json操作的注意事项
2017/05/02 Python
TensorFlow损失函数专题详解
2018/04/26 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
军训生自我鉴定范文
2013/12/27 职场文书
爱心捐助活动总结
2015/05/09 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
python状态机transitions库详解
2021/06/02 Python