這篇文章主要介紹yii2用uploadify的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有宜川免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。Uploadify是來自國外的一款優(yōu)秀jQuery插件,主要功能是批量上傳文件
下載Uploadify控件可以到git網(wǎng)站上找,找到自己適合用的.例如我們下面用個就是從
https://github.com/xjflyttp/yii2-uploadify-widget 下載的,里面也有詳細(xì)的操作文檔。
① 配置composer.json (就存在網(wǎng)站根目錄下),找到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 下載到我們網(wǎng)站, 打開在網(wǎng)站根目錄運(yùn)行命令行 ,等待下載如圖:
③ 視圖的處理
'test']); echo Uploadify::widget([ 'url' => yii\helpers\Url::to(['s-upload']), 'id' => 'test', //需要跟上fileInput 的id 對應(yīng) '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, //創(chuàng)建圖片名稱 'format' => function (UploadAction $action) { $fileext = $action->uploadfile->getExtension(); $filename = sha1_file($action->uploadfile->tempName); return "{$filename}.{$fileext}"; }, //想要多調(diào)用這個函數(shù) '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'], //后綴驗(yàn)證 'maxSize' => 1 * 1024 * 1024, //上傳大小限制 ], //驗(yàn)證前處理 'beforeValidate' => function (UploadAction $action) { //throw new Exception('test error'); }, //驗(yàn)證后處理 'afterValidate' => function (UploadAction $action) {}, //保存前處理 'beforeSave' => function (UploadAction $action) {}, //保存后處理 'afterSave' => function (UploadAction $action) { //$action->output 返回給瀏覽器的數(shù)據(jù) //返回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的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前題目:yii2用uploadify的方法-創(chuàng)新互聯(lián)
文章出自:http://weahome.cn/article/dgdocj.html