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 09 PHP
PHP生成UTF8文件的方法
May 15 PHP
PHP session会话的安全性分析
Sep 08 PHP
基于PHP array数组的教程详解
Jun 05 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
php获取访问者IP地址汇总
Apr 24 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
Mar 14 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 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的正则处理函数总结分析
2008/06/20 PHP
php中几种常见安全设置详解
2010/04/06 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
javascript 表单验证常见正则
2009/09/28 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
js上传图片预览的实现方法
2017/05/09 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
Python装饰器用法实例分析
2019/01/14 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
canvas实现高阶贝塞尔曲线(N阶贝塞尔曲线生成器)
2018/01/10 HTML / CSS
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
地理教师岗位职责
2014/03/16 职场文书
请假条怎么写
2014/04/10 职场文书