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
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
提升PHP性能的21种方法介绍
Jun 25 PHP
php实现的一个很好用HTML解析器类可用于采集数据
Sep 23 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
php中的登陆login实例代码
Jun 20 PHP
深入理解PHP类的自动载入机制
Sep 16 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
Laravel框架实现抢红包功能示例
Oct 31 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 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
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
PHP 文件系统详解
2012/09/13 PHP
php类自动加载器实现方法
2015/07/28 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
在模板页面的js使用办法
2010/04/01 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
JS实现li标签的删除
2019/04/12 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
零基础写python爬虫之爬虫编写全记录
2014/11/06 Python
Python简单实现enum功能的方法
2016/04/25 Python
python numpy元素的区间查找方法
2018/11/14 Python
详解Python Matplot中文显示完美解决方案
2019/03/07 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python 存取npy格式数据实例
2020/07/01 Python
python raise的基本使用
2020/09/10 Python
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
数据库笔试题
2013/05/09 面试题
银行出纳岗位职责
2013/11/25 职场文书
办公设备采购方案
2014/03/16 职场文书
校园活动宣传方案
2014/03/28 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
工作作风建设心得体会
2014/10/22 职场文书
2015年新农合工作总结
2015/03/30 职场文书
公司车队管理制度
2015/08/04 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android
基于docker安装zabbix的详细教程
2022/06/05 Servers