yii2上传图片的代码讲解
- 更新时间:2020-06-18 09:20:49
- 编辑:温瑞彩
第一步: 搭建上传类基础工作
第二步:建站一个product表,字段id,name,picurl.
第三步:生GII生成PRODUCT 模型,类,视图。
第四步:
main.css 放在frontend\web\css
.onedialog{position:absolute; left: 300px; top: 500px; z-index: 10; width: 700px; height: 400px;border-radius:5px;box-shadow:5px 2px 6px #000; border: 2px solid #666} .oneiframe{ width: 100%; height: 100% }
main.js 放在 frontend\web\assets
$(function(){ $('#product-picurl').click(function(){ $('#oneupload').remove(); $('<div>').appendTo($('body')).attr({"class":"onedialog",'id':"oneupload"}); $('<iframe>').appendTo($('#oneupload')).attr({"src":"?r=upload","class":"oneiframe"}) }); var v=$('#product-picurl').val(); if(v){ $('<img>').attr({"src":v,"style":"height:50px"}).insertAfter($('#product-picurl')); } });
然后在frontend\assets\AppAsset.php中注册这两个文件
class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl = '@web'; public $css = [ 'css/site.css', 'css/main.css', ]; public $js = [ 'assets/main.js' ]; public $depends = [ 'yii\web\YiiAsset', 'yii\bootstrap\BootstrapAsset', ]; }
UploadController.php
<?PHP namespace frontend\controllers; use Yii; use yii\web\Controller; use app\models\UploadForm; use yii\web\UploadedFile; class UploadController extends Controller { public function actionIndex() { $model = new UploadForm(); if (Yii::$app->request->isPost) { $model->file = UploadedFile::getInstance($model, 'file'); if ($model->file && $model->validate()) { //$model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension); $fileName='uploads/' . date("YmdHis") . '.' . $model->file->extension; $model->file->saveAs($fileName); } echo "<script src='assets/upload.js'></script>;"; echo "<script>"; echo "var oneinput=parent.document.getElementById('product-picurl');"; echo "parent.document.getElementById('product-picurl').value='".$fileName."';"; echo "var oneupload = parent.document.getElementById('oneupload');"; echo "var img = document.createElement('img');"; echo "img.setAttribute('style', 'height:50px');"; echo "img.src ='".$fileName."';"; echo "insertAfter(img,oneinput);"; echo "oneupload.parentNode.removeChild(oneupload)"; echo "</script>"; } return $this->render('upload', ['model' => $model]); } } ?>
UploadForm.php
<?PHP namespace app\models; use yii\base\Model; use yii\web\UploadedFile; /** * UploadForm is the model behind the upload form. */ class UploadForm extends Model { /** * @var UploadedFile file attribute */ public $file; /** * @return array the validation rules. */ public function rules() { return [ [['file'], 'file'], ]; } } ?>
upload.php
<?php use yii\widgets\ActiveForm; ?> <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?> <?= $form->field($model, 'file')->fileInput() ?> <button>Submit</button> <?php ActiveForm::end() ?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。
相关教程
-
解析yii2页面底部加载css和js的方法
这篇文章主要介绍了yii2 页面底部加载css和js的技巧的相关资料,需要的朋友可以参考下
发布时间:2020-01-19
-
Yii2.0乐观锁与悲观锁的原理用法
这篇文章主要介绍了深入理解Yii2.0乐观锁与悲观锁的原理与使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
发布时间:2019-12-10
-
Yii2 rbac权限控制操作方法及实例解析
这篇文章主要介绍了Yii2 rbac权限控制操作步骤实例教程的相关资料,需要的朋友可以参考下
发布时间:2020-06-14
-
实例分享Yii2中SqlDataProvider用法
这篇文章主要介绍了Yii2中SqlDataProvider用法,结合实例形式分析了Yii2框架中使用SqlDataProvider类操作数据库的相关技巧,需要的朋友可以参考下
发布时间:2020-03-16
-
关于Yii2 定制表单输入字段的标签和样式
本篇文章主要介绍了 Yii2 定制表单输入字段的标签和样式,Yii2中对于表单和字段的支持组件为ActiveForm和ActiveField,有兴趣的可以了解一下。
发布时间:2020-02-05
-
Yii2实现多域名跨域同步登录退出的实例代码及讲解
本篇文章主要介绍了Yii2实现多域名跨域同步登录退出,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
发布时间:2020-06-16
-
Yii2.0 rules验证规则总结分享
本篇文章主要介绍了详解Yii2.0 rules验证规则集合 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
发布时间:2020-02-17
-
yii2中LinkPager如何增加总页数和总记录数的示例代码
本篇文章主要介绍了php中LinkPager增加总页数和总记录数的实例,具有一定的参考价值,有兴趣的可以了解一下
发布时间:2020-03-19
-
yii2中关于加密解密的知识点总结
yii2.0怎么对传输的数据进行加密解密?下面这篇文章就来给大家介绍了yii2中关于加密解密的那些事儿,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习
发布时间:2020-03-26
-
实例分享Yii2主题(Theme)用法
这篇文章主要介绍了Yii2主题(Theme)用法,结合实例形式分析了Yii2主题(Theme)的配置方式、函数与相关属性的使用技巧,需要的朋友可以参考下
发布时间:2020-03-09
-
PHP7.0+MySQL网站开发全程实例
《 PHP7.0MySQL网站开发全程实例 》在XAMPP集成化自然环境下,应用Dreamweaver对PHP动态网站开发。《PHP7.0MySQL网站开发全程实例》以全程实例课堂教学为设计方案总体目标,从网站开发自然环境的配
大小:165.8 MB网站设计电子书
-
PHP7从入门到精通:教学版(含源码视频)
《PHP 7从入门到精通》以零基础讲解为宗旨,以PHP 7为蓝本,用实例引导读者深入学习PHP编程的各项技术及实战技能,全面讲解PHP与Web、XML、JavaScript、Ajax、MySQL、Zend框架等技术的交互方法,帮助大家快速学习,欢迎下载。
大小:426 MBPHP7电子书
-
PHP5权威编程
《PHP5权威编程》一书为大家全面介绍了PHP 5中的新功能、面向对象编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制。希望能够帮助读者系统了解、熟练掌握PHP,大程度地挖掘PHP的潜力,以更低的成本搭建更加稳健、高效的PHP应用。
大小:25.3 MBPHP5电子书
-
高性能PHP7
《高性能PHP 7》通俗易懂且图文并茂,实践案例丰富,相信一定能吸引大家阅读。全书目标清晰,始终围绕着如何使用PHP及周边技术来优化性能这一主题,能够为许多工程师解决实际问题。
大小:11.3 MBPHP7电子书
-
写给PHP开发者的Node.js学习指南
Node.js是一套用来编写高性能网络服务器的JavaScript工具包。结合PHP和Node.js,我们可以概览整个Web服务器从起源到现在的历史过程以及其中的改变。 《 写给PHP开发者的Node.js学习指南 》的目的是
大小:3.46 MBNode.js电子书
-
Modern PHP
本书让你会学到关于应用架构、规划、数据库、安全、测试、调试和部署方面的很好实践。如果你具有PHP基础知识,想提高自己的技能,不要错过这本书
大小:28 MBPHP电子书