国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) > php框架 > YII > 正文

yii2怎么用uploadify

(*-*)浩
發(fā)布: 2019-11-05 10:04:01
原創(chuàng)
3910人瀏覽過(guò)

uploadify是來(lái)自國(guó)外的一款優(yōu)秀jquery插件,主要功能是批量上傳文件

yii2怎么用uploadify

下載Uploadify控件可以到git網(wǎng)站上找,找到自己適合用的.例如我們下面用個(gè)就是從

https://github.com/xjflyttp/yii2-uploadify-widget 下載的,里面也有詳細(xì)的操作文檔。 ? (推薦學(xué)習(xí):yii教程

① 配置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" //這里是新添加的
},
登錄后復(fù)制

② 利用composer 將yii2-uploadify-widget 下載到我們網(wǎng)站, 打開(kāi)在網(wǎng)站根目錄運(yùn)行命令行 ,等待下載如圖:

yii-5.png

③ 視圖的處理

<?php
use yii\web\JsExpression;
//外部TAG
echo Html::fileInput('test', NULL, ['id' => 'test']);
echo Uploadify::widget([
    'url' => yii\helpers\Url::to(['s-upload']),
    'id' => 'test', //需要跟上fileInput 的id 對(duì)應(yīng)
    'csrf' => true,
    'renderTag' => false,
     'jsOptions' => [
                  'width' => 100,
                  'height' => 40,
                  'onUploadError' => new JsExpression(<<<EOF
                  function(file, errorCode, errorMsg, errorString) {
                        console.log('The file ' + file.name + ' could not be uploaded: ' + errorString + errorCode + errorMsg);
                    }
EOF
                    ),
                    'onUploadSuccess' => new JsExpression(<<<EOF
                    function(file, data, response) {
                        data = JSON.parse(data);
                        if (data.error) {
                            console.log(data.msg);
                             } else {
                                //在此處理你的圖片
                               console.log(data.fileUrl);
                        }
                    }
EOF
登錄后復(fù)制

④?配置Controller 層

<?php
namespace \backend\controllers;
use xj\uploadify\UploadAction;
class TestController extends \yii\web\Controller
{
   public function actions() {
    return [
        's-upload' => [
            'class' => UploadAction::className(),
            //磁盤(pán)目錄
            'basePath' => '@webroot/upload',
            //訪(fǎng)問(wèn)目錄
            'baseUrl' => '@web/upload',
            //防止跨站攻擊
            'enableCsrf' => true, // default
            'postFieldName' => 'Filedata', // default
            //BEGIN METHOD
            'format' => [$this, 'methodName'],
            //END METHOD
            //BEGIN CLOSURE BY-HASH
            //是否覆蓋相同文件
            'overwriteIfExist' => true,
            //創(chuàng)建圖片名稱(chēng)
            'format' => function (UploadAction $action) {
                $fileext = $action->uploadfile->getExtension();
                $filename = sha1_file($action->uploadfile->tempName);
                return "{$filename}.{$fileext}";
            },
             //想要多調(diào)用這個(gè)函數(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()
                //圖片的名稱(chēng)
                //$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()
              },
           ],
        ];
     }
   }
?>
登錄后復(fù)制


以上就是yii2怎么用uploadify的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級(jí)免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來(lái)源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問(wèn)題
開(kāi)源免費(fèi)商場(chǎng)系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線(xiàn)php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)