Yii2实现ajax上传图片插件用法


Posted in PHP onApril 28, 2016

本文实例讲述了Yii2实现ajax上传图片插件用法。分享给大家供大家参考,具体如下:

这里需要先下载 mdmsoft/yii2-upload-file.插件。

代码如下:

public function actionCreate()
{
  $model = new DynamicModel([
    'nama', 'file_id'
    ]);
  // behavior untuk upload file
  $model->attachBehavior('upload', [
    'class' => 'mdm\upload\UploadBehavior',
    'attribute' => 'file',
    'savedAttribute' => 'file_id' // coresponding with $model->file_id
  ]);
  // rule untuk model
  $model->addRule('nama', 'string')
    ->addRule('file', 'file', ['extensions' => 'jpg']);
  if ($model->load(Yii::$app->request->post()) && $model->validate()) {
    if ($model->saveUploadedFile() !== false) {
      Yii::$app->session->setFlash('success', 'Upload Sukses');
    }
  }
  return $this->render('upload',['model' => $model]);
}

Then in view upload.php

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
?>
<div>
  <?php
  $form = ActiveForm::begin([
      'options' => [ 'enctype' => 'multipart/form-data']
  ]);
  ?>
  <?= $form->field($model, 'nama'); ?>
  <?= $form->field($model, 'file')->fileInput(); ?>
  <?php if ($model->file_id): ?>
    <div class="form-group">
      <?= Html::img(['/file', 'id' => $model->file_id]) ?>
    </div>
  <?php endif; ?>
  <div class="form-group">
    <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
  </div>
  <?php ActiveForm::end(); ?>
</div>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
由php的call_user_func传reference引发的思考
Jul 23 PHP
PHP curl 并发最佳实践代码分享
Sep 05 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
php制作文本式留言板
Mar 18 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
php 实现进制相互转换
Apr 07 PHP
php 7新特性之类型申明详解
Jun 06 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
关于PHP5.6+版本“No input file specified”问题的解决
Dec 11 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 #PHP
PHP简单实现文本计数器的方法
Apr 28 #PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 #PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
Apr 28 #PHP
PHP在线调试执行的实现方法(附demo源码)
Apr 28 #PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 #PHP
Composer设置忽略版本匹配的方法
Apr 27 #PHP
You might like
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
javascript内置对象操作详解
2015/02/04 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
用js实现放大镜效果
2020/10/28 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
基于Python实现文件大小输出
2016/01/11 Python
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python快速从注释生成文档的方法
2016/12/26 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
python yield关键词案例测试
2019/10/15 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
Python 执行矩阵与线性代数运算
2020/08/01 Python
python 两种方法删除空文件夹
2020/09/29 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
纽约手袋品牌:KARA
2018/03/18 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
50道外企软件测试面试题
2014/08/18 面试题
UML设计模式笔试题
2014/06/07 面试题
医学生职业生涯规划书范文
2014/03/13 职场文书
企业承诺书怎么写
2014/05/24 职场文书
社区志愿者培训方案
2014/06/10 职场文书
化学教育专业求职信
2014/07/08 职场文书
介绍信模板
2015/01/31 职场文书
幼儿园2016年感恩节活动总结
2016/04/01 职场文书