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 4.2书写安全的脚本
Oct 09 PHP
Ajax PHP分页演示
Jan 02 PHP
Smarty模板快速入门
Jan 04 PHP
PHP提取数据库内容中的图片地址并循环输出
Mar 21 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 PHP
php检测文本的编码
Jul 26 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 PHP
php强制下载文件函数
Aug 24 PHP
php array_merge_recursive 数组合并
Oct 26 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 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环境――Appserv
2006/12/13 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python制作微博图片爬取工具
2021/01/16 Python
露营世界:Camping World
2017/02/02 全球购物
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
幼儿教师寄语集锦
2014/04/03 职场文书
皇城相府导游词
2015/02/06 职场文书
幼儿园六一儿童节活动总结
2015/02/10 职场文书
采购内勤岗位职责
2015/04/13 职场文书
安全教育的主题班会
2015/08/13 职场文书
个人工作决心书
2015/09/22 职场文书
普希金的诗歌赏析(3首)
2019/08/20 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫