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 相关文章推荐
使用字符串函数输出整数化的PHP版本号
Oct 09 PHP
PHP编程中字符串处理的5个技巧小结
Nov 13 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
php 文件上传实例代码
Apr 19 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
php输出xml必须header的解决方法
Oct 17 PHP
php简单实现多语言切换的方法
May 09 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
thinkPHP批量删除的实现方法分析
Nov 09 PHP
PHP实现微信退款功能
Oct 02 PHP
PHP利用百度ai实现文本和图片审核
May 08 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 MsSql server时遇到的中文编码问题
2009/06/11 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
php命令行写shell实例详解
2018/07/19 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
Python 序列的方法总结
2016/10/18 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
简历的自荐信
2013/12/19 职场文书
学校运动会霸气口号
2014/06/07 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
婚庆答谢词大全
2015/09/29 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python