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 相关文章推荐
使用数据库保存session的方法
Oct 09 PHP
ADODB结合SMARTY使用~超级强
Nov 25 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
PHP简单实现“相关文章推荐”功能的方法
Jul 19 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
PHP CURL使用详解
Mar 21 PHP
php字符串倒叙
Apr 01 PHP
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
Apr 11 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
杏林同学录(三)
2006/10/09 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
JavaScript延迟加载
2021/03/09 Javascript
JQuery 常用方法基础教程
2009/02/06 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
javascript history对象详解
2017/02/09 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
从零学Python之入门(二)基本数据类型
2014/05/25 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
numpy.where() 用法详解
2019/05/27 Python
pytorch 加载(.pth)格式的模型实例
2019/08/20 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
物业门卫岗位职责
2013/12/28 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
社会学专业求职信
2014/07/17 职场文书
小学二年级数学教学计划
2015/01/20 职场文书