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 5.3.5安装memcache注意事项小结
Apr 12 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 PHP
PHP 读取和编写 XML
Nov 19 PHP
php强制下载文件函数
Aug 24 PHP
PHP单态模式简单用法示例
Nov 16 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
PHP html_entity_decode()函数讲解
Feb 25 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
JavaScript 私有成员分析
2009/01/13 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
JavaScript严格模式禁用With语句的原因
2014/10/20 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
three.js中文文档学习之如何本地运行详解
2017/11/20 Javascript
Python读写Redis数据库操作示例
2014/03/18 Python
django 自定义用户user模型的三种方法
2014/11/18 Python
Python求算数平方根和约数的方法汇总
2016/03/09 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
聘任书模板
2014/03/29 职场文书
小班评语大全
2014/05/04 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
课外活动实习计划
2015/01/19 职场文书
财政局个人总结
2015/03/04 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技