这篇文章主要介绍yii2用uploadify的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
10年积累的成都做网站、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有宜川免费网站建设让你可以放心的选择与我们合作。Uploadify是来自国外的一款优秀jQuery插件,主要功能是批量上传文件
下载Uploadify控件可以到git网站上找,找到自己适合用的.例如我们下面用个就是从
https://github.com/xjflyttp/yii2-uploadify-widget 下载的,里面也有详细的操作文档。
① 配置composer.json (就存在网站根目录下),找到require,然后添加我们的uploadify
"require": { "php": ">=5.4.0", "yiisoft/yii2": ">=2.0.6", "yiisoft/yii2-bootstrap": "*", "yiisoft/yii2-swiftmailer": "*", "xj/yii2-uploadify-widget": "~2.0.0" //这里是新添加的 },
② 利用composer 将yii2-uploadify-widget 下载到我们网站, 打开在网站根目录运行命令行 ,等待下载如图:
③ 视图的处理
'test']); echo Uploadify::widget([ 'url' => yii\helpers\Url::to(['s-upload']), 'id' => 'test', //需要跟上fileInput 的id 对应 'csrf' => true, 'renderTag' => false, 'jsOptions' => [ 'width' => 100, 'height' => 40, 'onUploadError' => new JsExpression(<<new JsExpression(<< ④ 配置Controller 层
[ 'class' => UploadAction::className(), //磁盘目录 'basePath' => '@webroot/upload', //访问目录 'baseUrl' => '@web/upload', //防止跨站攻击 'enableCsrf' => true, // default 'postFieldName' => 'Filedata', // default //BEGIN METHOD 'format' => [$this, 'methodName'], //END METHOD //BEGIN CLOSURE BY-HASH //是否覆盖相同文件 'overwriteIfExist' => true, //创建图片名称 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filename = sha1_file($action->uploadfile->tempName); return "{$filename}.{$fileext}"; }, //想要多调用这个函数 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filehash = sha1(uniqid() . time()); $p1 = substr($filehash, 0, 2); $p2 = substr($filehash, 2, 2); return "{$p1}/{$p2}/{$filehash}.{$fileext}"; }, */ 'validateOptions' => [ 'extensions' => ['jpg', 'png'], //后缀验证 'maxSize' => 1 * 1024 * 1024, //上传大小限制 ], //验证前处理 'beforeValidate' => function (UploadAction $action) { //throw new Exception('test error'); }, //验证后处理 'afterValidate' => function (UploadAction $action) {}, //保存前处理 'beforeSave' => function (UploadAction $action) {}, //保存后处理 'afterSave' => function (UploadAction $action) { //$action->output 返回给浏览器的数据 //返回Url 图片返回的路径 //$action->getWebUrl() //图片的名称 //$action->getFilename(); //保存图片的物理位置 //$action->getSavePath(); //输出 //$action->output['fileUrl'] = $action->getWebUrl(); //$action->output['fileName'] = $action->getFilename(); //$action->output['filePath'] = $action->getSavePath(); //$action->getFilename(); // "image/yyyymmddtimerand.jpg" //$action->getWebUrl(); // "baseUrl + filename, /upload/image/yyyymmddtimerand.jpg" //$action->getSavePath(); // "/var/www/htdocs/upload/image/yyyymmddtimerand.jpg" $action->output[‘fileUrl’] = $action->getWebUrl() }, ], ]; } } ?>以上是“yii2用uploadify的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
网页标题:yii2用uploadify的方法-创新互联
文章起源:http://www.cdkjz.cn/article/dgdocj.html