溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

swfupload如何在phpcms中使用

發(fā)布時(shí)間:2020-12-23 15:17:37 來源:億速云 閱讀:166 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)swfupload如何在phpcms中使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

正式接觸phpcms模塊開發(fā)后.開發(fā)了幾個(gè)功能模塊.其中遇到了需要批量上傳圖片的問題.于是開始挖掘phpcms里面的swfupload的用法.

在phpcms里面自帶的內(nèi)容類型里面能夠直接指定圖片組.不過這樣的圖片組功能并不是我想用的.我需要上傳一整個(gè)靜態(tài)的html文件.需要

能夠找到一個(gè)方法上傳整個(gè)文件夾.并且能夠保留原來的文件名稱.

目的總結(jié)如下:

1,不改變系統(tǒng)的文件和目錄結(jié)構(gòu).

2,實(shí)現(xiàn)多附件上傳功能.

3,能夠得到上傳后的文件夾名稱.

在phpcms中自帶了附件上傳的功能.我想去用swfupload功能,而這個(gè)功能被phpcms的附件上傳功能集成進(jìn)去了.那我要做的就是抽出來并加以修改.

第一步,我來研究研究這個(gè)是怎么調(diào)用的.

首先,打開firefox瀏覽器的firebug   打開網(wǎng)絡(luò)面板.找到phpcm中swfupload唄調(diào)出的那個(gè)按鈕.看看系統(tǒng)是請(qǐng)求的什么連接.

復(fù)制代碼 代碼如下:


?m=attachment&c=attachments&a=swfupload&args=10,,1&module=&catid=&authkey=b756a93dea2e627293e88fa9d62af709&pc_hash=iXFbo1


我們捕捉到一串這樣的請(qǐng)求.調(diào)用了attachment模塊的attachements控制器里面的swfupload方法.

我們?nèi)フ业竭@個(gè)模塊中的這個(gè)控制器里面的這個(gè)方法.

在phpcms/modoules/attachemet/attachemts.php里面

打開看看,代碼如下

復(fù)制代碼 代碼如下:


public function swfupload(){
        $grouplist = getcache('grouplist','member');
        if(isset($_POST['dosubmit'])){
      //if里面的內(nèi)容我們暫時(shí)不看.因?yàn)檫@是上傳之后的處理.我們要先找到是如何引入swfupload的.
        } else {
            if($this->isadmin==0 && !$grouplist[$this->groupid]['allowattachment']) showmessage(L('att_no_permission'));
            $args = $_GET['args'];//得到參數(shù)
            $authkey = $_GET['authkey'];//得到密匙
            if(upload_key($args) != $authkey) showmessage(L('attachment_parameter_error'));//驗(yàn)證密匙
            extract(getswfinit($_GET['args']));//拆分參數(shù)
            $siteid = $this->get_siteid();//得到網(wǎng)站id
            $site_setting = get_site_setting($siteid);//得到網(wǎng)站設(shè)置
            $file_size_limit = sizecount($site_setting['upload_maxsize']*1024);//允許上傳大小
            $att_not_used = param::get_cookie('att_json');//得到未處理的文件列表
            if(empty($att_not_used) || !isset($att_not_used)) $tab_status = ' class="on"';//如果有未處理的設(shè)置標(biāo)簽樣式為on
            if(!empty($att_not_used)) $div_status = ' hidden';//否則隱藏標(biāo)簽           
            $att = $this->att_not_used();//獲取臨時(shí)未處理文件列表
            include $this->admin_tpl('swfupload');//這個(gè)地方才是關(guān)鍵.加載了這個(gè)模板.
        }
    }


前面的我們就先不管了 ,那是處理上傳的東西.我從else開始看.首先驗(yàn)證了是否允許附件上傳

然后從$_GET里面得到swfupload的參數(shù)args,然后去驗(yàn)證了密匙,密匙通過了去解析args.得到網(wǎng)站的id,得到網(wǎng)站的設(shè)置,得到允許上傳附件的大小.從cookie里面得到未使用的附件列表.

設(shè)置模板里面的各種顯示.最后也是最關(guān)鍵的.它使用了swfupload模板.也就是說我要找到這個(gè)模板.看看swfupload是怎么引過來的.

模板在這里:phpcms/modules/attachment/templates/swfupload.tpl.php

打開模板文件.模板文件上面引入了一堆文件:

復(fù)制代碼 代碼如下:


<?php $show_header = $show_validator = $show_scroll = 1; include $this->admin_tpl('header', 'attachment');?>
<link href="<?php echo JS_PATH?>swfupload/swfupload.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/javascript" src="<?php echo JS_PATH?>swfupload/swfupload.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo JS_PATH?>swfupload/fileprogress.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo JS_PATH?>swfupload/handlers2.js"></script>
<script type="text/javascript">
<?php echo initupload($_GET['module'],$_GET['catid'],$args,$this->userid,$this->groupid,$this->isadmin)?>
</script>


首先是引入了頭文件.我大概看里一下.里面有jquery什么的.是必要文件.所以一會(huì)我們要用的時(shí)候也要引入這個(gè)頭.

之后是swfupload的樣式文件和必要的JS.這里調(diào)用了一個(gè)系統(tǒng)函數(shù)initupload,這個(gè)函數(shù)到底是干嘛的.

千萬別小覷這行.整個(gè)swfupload的配置都在這里了.

我們?nèi)フ艺铱催@個(gè)函數(shù).

在phpcms/modules/attachment/functions/golable.func.php里面找到了它的蹤跡.代碼如下,這個(gè)函數(shù)的主要作用就是配置swfupload這個(gè)插件.

復(fù)制代碼 代碼如下:


/* flash上傳初始化
     * 初始化swfupload上傳中需要的參數(shù)
     * @param $module 模塊名稱
     * @param $catid 欄目id
     * @param $args 傳遞參數(shù)
     * @param $userid 用戶id
     * @param $groupid 用戶組id
     * @param $isadmin 是否為管理員模式
     */
    function initupload($module, $catid,$args, $userid, $groupid = '8', $isadmin = '0'){
        $grouplist = getcache('grouplist','member');
        if($isadmin==0 && !$grouplist[$groupid]['allowattachment']) return false;
        extract(getswfinit($args));
        $siteid = param::get_cookie('siteid');
        $site_setting = get_site_setting($siteid);
        $file_size_limit = $site_setting['upload_maxsize'];
        $sess_id = SYS_TIME;
        $swf_auth_key = md5(pc_base::load_config('system','auth_key').$sess_id);
        $init =  'var swfu = \'\';
        $(document).ready(function(){
        swfu = new SWFUpload({
            flash_url:"'.JS_PATH.'swfupload/swfupload.swf?"+Math.random(),
            upload_url:"'.APP_PATH.'index.php?m=attachment&c=attachments&a=swfupload&dosubmit=1",
            file_post_name : "Filedata",
            post_params:{"SWFUPLOADSESSID":"'.$sess_id.'","module":"'.$module.'","catid":"'.$_GET['catid'].'","userid":"'.$userid.'","siteid":"'.$siteid.'","dosubmit":"1","thumb_width":"'.$thumb_width.'","thumb_height":"'.$thumb_height.'","watermark_enable":"'.$watermark_enable.'","filetype_post":"'.$file_types_post.'","swf_auth_key":"'.$swf_auth_key.'","isadmin":"'.$isadmin.'","groupid":"'.$groupid.'"},
            file_size_limit:"'.$file_size_limit.'",
            file_types:"'.$file_types.'",
            file_types_description:"All Files",
            file_upload_limit:"'.$file_upload_limit.'",
            custom_settings : {progressTarget : "fsUploadProgress",cancelButtonId : "btnCancel"},

            button_image_url: "",
            button_width: 75,
            button_height: 28,
            button_placeholder_id: "buttonPlaceHolder",
            button_text_style: "",
            button_text_top_padding: 3,
            button_text_left_padding: 12,
            button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT,
            button_cursor: SWFUpload.CURSOR.HAND,

            file_dialog_start_handler : fileDialogStart,
            file_queued_handler : fileQueued,
            file_queue_error_handler:fileQueueError,
            file_dialog_complete_handler:fileDialogComplete,
            upload_progress_handler:uploadProgress,
            upload_error_handler:uploadError,
            upload_success_handler:uploadSuccess,
            upload_complete_handler:uploadComplete
            });
        })';
        return $init;
    }

回到正題.我們來看模板swfupload.tpl.php

這個(gè)模板使用了一個(gè)js來控制<li>以頁簽的形式顯示.我們可以用firebug去找到帶有我們要找到的swfupload按鈕的那個(gè)頁簽的id

那個(gè)id是tab_swf_1

這個(gè)是一個(gè)div 代碼如下.

復(fù)制代碼 代碼如下:


<div id="div_swf_1" class="content pad-10 <?php echo $div_status?>">
            <div>
                <div class="addnew" id="addnew">
                    <span id="buttonPlaceHolder"></span>
                </div>
                <input type="button" id="btupload" value="<?php echo L('start_upload')?>" onClick="swfu.startUpload();" />
                <div id="nameTip" class="onShow"><?php echo L('upload_up_to')?><font color="red"> <?php echo $file_upload_limit?></font> <?php echo L('attachments')?>,<?php echo L('largest')?> <font color="red"><?php echo $file_size_limit?></font></div>
                <div class="bk3"></div>

                <div class="lh34"><?php echo L('supported')?> <font ><?php echo str_replace(array('*.',';'),array('','、'),$file_types)?></font> <?php echo L('formats')?></div><input type="checkbox" id="watermark_enable" value="1" <?php if(isset($watermark_enable) &&$watermark_enable == 1) echo 'checked'?> onclick="change_params()"> <?php echo L('watermark_enable')?>
            </div>
            <div class="bk10"></div>
            <fieldset class="blue pad-10" id="swfupload">
            <legend><?php echo L('lists')?></legend>
            <ul class="attachment-list"  id="fsUploadProgress">
            </ul>
            </fieldset>
        </div>

在這里我們看到有一個(gè)span   id是buttonPlaceHolder  而在配置文件中有這么一行button_placeholder_id: "buttonPlaceHolder",很明顯.當(dāng)頁面被加載的時(shí)候 id為buttonPlaceHolder的元素會(huì)被JS替換成swfupload的上傳控件.

之后一步我們要在點(diǎn)選完文件之后觸發(fā)swf的上傳方法

會(huì)在代碼中找到如下代碼.這里面調(diào)用了swfu.startUpload()方法.這個(gè)方法定義的地方在swfupload.js里面.我們無需理會(huì).

復(fù)制代碼 代碼如下:


<input type="button" id="btupload" value="<?php echo L('start_upload')?>" onClick="swfu.startUpload();" />


至此.我們已經(jīng)找到了swfupload的上傳控件使用方法

怎么在我的程序里面調(diào)用這個(gè)東東呢 

首先一點(diǎn) 我們需要在這個(gè)控件出現(xiàn)的模板里面引入這些必要的文件

復(fù)制代碼 代碼如下:


<link href="<?php echo JS_PATH?>swfupload/swfupload.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/javascript" src="<?php echo JS_PATH?>swfupload/swfupload.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo JS_PATH?>swfupload/fileprogress.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo JS_PATH?>swfupload/handlers2.js"></script>
<script type="text/javascript">
<?php echo initupload($_GET['module'],$_GET['catid'],$args,$this->userid,$this->groupid,$this->isadmin)?>
</script>


代碼如上所示.

然后在我們的模板里面想要放置swfupload的地方寫上這樣的標(biāo)簽

復(fù)制代碼 代碼如下:


<span id="buttonPlaceHolder"></span>
<input type="button" id="btupload" value="<?php echo L('start_upload')?>" onClick="swfu.startUpload();


這樣我們就已經(jīng)把swfupload引入到我們需要的地方了.接著就是能夠正常執(zhí)行上傳等功能.

但是這樣還不能達(dá)到我們的需求.而且有一個(gè)問題.我們把文件上傳到神馬地方去了.那我們就來找找我們把文件上傳到神馬地方去了

在配置文件(用initupload函數(shù)輸出的)里面有這樣一行

復(fù)制代碼 代碼如下:


upload_url:"'.APP_PATH.'index.php?m=attachment&c=attachments&a=swfupload&dosubmit=1",


這個(gè)很明顯就透露出了我們把文件上傳到了attachment模塊中attachments控制器里面的swfupload方法去處理了

這個(gè)地方也就是我之前沒有關(guān)注的if里面的東西.

拿出來看看

復(fù)制代碼 代碼如下:


if( $_POST['swf_auth_key'] != md5(pc_base::load_config('system','auth_key').$_POST['SWFUPLOADSESSID']) || ($_POST['isadmin']==0 && !$grouplist[$_POST['groupid']]['allowattachment'])) exit();
            pc_base::load_sys_class('attachment','',0);
            $attachment = new attachment($_POST['module'],$_POST['catid'],$_POST['siteid']);
            $attachment->set_userid($_POST['userid']);
            $aids = $attachment->upload('Filedata',$_POST['filetype_post'],'','',array($_POST['thumb_width'],$_POST['thumb_height']),$_POST['watermark_enable']);
            if($aids[0]) {
                $filename= (strtolower(CHARSET) != 'utf-8') ? iconv('gbk', 'utf-8', $attachment->uploadedfiles[0]['filename']) : $attachment->uploadedfiles[0]['filename'];
                if($attachment->uploadedfiles[0]['isimage']) {
                    echo $aids[0].','.$this->upload_url.$attachment->uploadedfiles[0]['filepath'].','.$attachment->uploadedfiles[0]['isimage'].','.$filename;
                } else {
                    $fileext = $attachment->uploadedfiles[0]['fileext'];
                    if($fileext == 'zip' || $fileext == 'rar') $fileext = 'rar';
                    elseif($fileext == 'doc' || $fileext == 'docx') $fileext = 'doc';
                    elseif($fileext == 'xls' || $fileext == 'xlsx') $fileext = 'xls';
                    elseif($fileext == 'ppt' || $fileext == 'pptx') $fileext = 'ppt';
                    elseif ($fileext == 'flv' || $fileext == 'swf' || $fileext == 'rm' || $fileext == 'rmvb') $fileext = 'flv';
                    else $fileext = 'do';
                    echo $aids[0].','.$this->upload_url.$attachment->uploadedfiles[0]['filepath'].','.$fileext.','.$filename;
                }
                exit;
            } else {
                echo '0,'.$attachment->error();
                exit;


這個(gè)里面有幾行是比較重要的.

首先它載入了系統(tǒng)的attachment類.并且用到了里面的方法.

程序?qū)ι蟼鞒晒ψ隽薳cho操作.返回的東西是   返回了編號(hào),上傳后的地址,拓展名,文件名.

這些東西是給誰用的啊   我們還得回去看配置文件.

配置文件里面有一段是上傳過程中各個(gè)事件將觸發(fā)的方法.  有開始上傳的.有上傳成功的,有上傳失敗的.等等.

我們可以看見有一個(gè)方法是file_dialog_complete_handler:fileDialogComplete,

其實(shí)這些已經(jīng)升級(jí)到swfupload的范疇了.有興趣可以去研究研究

然后我們?cè)趐hpcms/static/swfupload/handler.js里面找到這個(gè)方法.

看見上傳成功后echo出來的數(shù)據(jù)被解析了.

解析的方法如下

復(fù)制代碼 代碼如下:


function att_show(serverData,file)
{
    var serverData = serverData.replace(/<div.*?<\/div>/g,'');
    var data = serverData.split(',');
    var id = data[0];
    var src = data[1];
    var ext = data[2];
    var filename = data[3];
    if(id == 0) {
        alert(src)
        return false;
    }
    if(ext == 1) {
        var img = '<a href="javascript:;" onclick="javascript:att_cancel(this,'+id+',\'upload\')" class="on"><div class="icon"></div><img src="'+src+'" width="80" imgid="'+id+'" path="'+src+'" title="'+filename+'"/></a>';
    } else {
        var img = '<a href="javascript:;" onclick="javascript:att_cancel(this,'+id+',\'upload\')" class="on"><div class="icon"></div><img src="statics/images/ext/'+ext+'.png" width="80" imgid="'+id+'" path="'+src+'" title="'+filename+'"/></a>';
    }
    $.get('index.php?m=attachment&c=attachments&a=swfupload_json&aid='+id+'&src='+src+'&filename='+filename);
    $('#fsUploadProgress').append('<li><div id="attachment_'+id+'" class="img-wrap"></div></li>');
    $('#attachment_'+id).html(img);
    $('#att-status').append('|'+src);
    $('#att-name').append('|'+filename);
}


這個(gè)方法的目的是在id為fsuuploadprogress的元素里面添加我們上傳成功的附件.但是我們還木有找到文件到底去哪里了

關(guān)鍵的地方來了.我們?cè)趕wfupload方法里面不是有個(gè)attachment的系統(tǒng)類的實(shí)例么

真正上傳附件是在這里實(shí)現(xiàn)的.我們調(diào)用了attachment里面的upload方法來實(shí)現(xiàn)了文件的上傳.

這個(gè)attachment文件里面的upload方法在系統(tǒng)類里面 也就是phpcms/libs/classes/attachment.class.php里面

在這個(gè)類里面我們可以找到upload方法里面有這樣一行

復(fù)制代碼 代碼如下:


$this->savepath = $this->upload_root.$this->upload_dir.date('Y/md/');


這個(gè)自然就是指定了上傳到的目錄.文件名是通過getname方法來獲取的.

到這里我們就理清思路了.

系統(tǒng)是這么運(yùn)行的

首先在模板里面引用swfupload(配置文件是用函數(shù)生成的)->上傳文件->attachment模塊里的swfupload方法處理(使用系統(tǒng)的attachment類里面的upload方法循環(huán)上傳附件.并返回結(jié)果給swfupload方法)->處理結(jié)果通過swfupload的方法(fileDialogComplete)返回給頁面.

在上面我們已經(jīng)實(shí)現(xiàn)了在模板里面引入swfupload.但是我們使用的配置文件和上傳附件的方法等都是系統(tǒng)原來自帶的.并不能實(shí)現(xiàn)我想要的目錄結(jié)構(gòu)和文件命名方法.怎么辦..

改.

怎么改,首先們要把配置文件改掉. 在自己的模塊里面的functions文件夾里面建立自己的函數(shù).我們用自己的函數(shù)名稱 文件命名為global.func.php這樣系統(tǒng)會(huì)通過auto_load把我們的函數(shù)加載

進(jìn)去我們把系統(tǒng)中attachment模塊functions文件夾下面的global.func.php里面的initupload函數(shù)全盤拷貝進(jìn)來.只修改其中的一行

復(fù)制代碼 代碼如下:


upload_url:"'.APP_PATH.'index.php?m=你的模塊名稱&c=你的控制器名稱&a=你的方法名稱&dosubmit=1",


這樣文件就會(huì)提交到我們的控制器下面.并且調(diào)用我們自己寫的方法

然后我們?nèi)ジ南到y(tǒng)的attachment類  我們?cè)谧约旱哪K下的classes文件夾下面建立一個(gè)myattachment.class.php

寫一個(gè)我們自己的類.去集成系統(tǒng)的attachment類.(記得吧里面的私有方法copy過來.)我們需要修改幾行.首先一點(diǎn)是吧upload方法里面的上傳目錄改掉.然后是改掉文件名的命名方法.

復(fù)制代碼 代碼如下:


function upload($field, $alowexts = '', $maxsize = 0, $overwrite = 0,$thumb_setting = array(), $watermark_enable = 1) {
        if(!isset($_FILES[$field])) {
            $this->error = UPLOAD_ERR_OK;
            return false;
        }
        if(empty($alowexts) || $alowexts == '') {
            $site_setting = $this->_get_site_setting($this->siteid);
            $alowexts = $site_setting['upload_allowext'];
        }
        $fn = $_GET['CKEditorFuncNum'] ? $_GET['CKEditorFuncNum'] : '1';

        $this->field = $field;
        $this->savepath = $this->upload_root.$this->upload_dir.date('Ymd');//這里我們需要修改下.也可以不修改.在我們實(shí)例化這個(gè)類的時(shí)候再來指定目錄.
        $this->alowexts = $alowexts;
        $this->maxsize = $maxsize;
        $this->overwrite = $overwrite;
        $uploadfiles = array();
        $description = isset($GLOBALS[$field.'_description']) ? $GLOBALS[$field.'_description'] : array();
        if(is_array($_FILES[$field]['error'])) {
            $this->uploads = count($_FILES[$field]['error']);
            foreach($_FILES[$field]['error'] as $key => $error) {
                if($error === UPLOAD_ERR_NO_FILE) continue;
                if($error !== UPLOAD_ERR_OK) {
                    $this->error = $error;
                    return false;
                }
                $uploadfiles[$key] = array('tmp_name' => $_FILES[$field]['tmp_name'][$key], 'name' => $_FILES[$field]['name'][$key], 'type' => $_FILES[$field]['type'][$key], 'size' => $_FILES[$field]['size'][$key], 'error' => $_FILES[$field]['error'][$key], 'description'=>$description[$key],'fn'=>$fn);
            }
        } else {
            $this->uploads = 1;
            if(!$description) $description = '';
            $uploadfiles[0] = array('tmp_name' => $_FILES[$field]['tmp_name'], 'name' => $_FILES[$field]['name'], 'type' => $_FILES[$field]['type'], 'size' => $_FILES[$field]['size'], 'error' => $_FILES[$field]['error'], 'description'=>$description,'fn'=>$fn);
        }

        if(!dir_create($this->savepath)) {
            $this->error = '8';
            return false;
        }
        if(!is_dir($this->savepath)) {
            $this->error = '8';
            return false;
        }
        @chmod($this->savepath, 0777);

        if(!is_writeable($this->savepath)) {
            $this->error = '9';
            return false;
        }
        if(!$this->is_allow_upload()) {
            $this->error = '13';
            return false;
        }
        $aids = array();
        foreach($uploadfiles as $k=>$file) {
            $fileext = fileext($file['name']);
            if($file['error'] != 0) {
                $this->error = $file['error'];
                return false;
            }
            if(!preg_match("/^(".$this->alowexts.")$/", $fileext)) {
                $this->error = '10';
                return false;
            }
            if($this->maxsize && $file['size'] > $this->maxsize) {
                $this->error = '11';
                return false;
            }
            if(!$this->isuploadedfile($file['tmp_name'])) {
                $this->error = '12';
                return false;
            }
            //$temp_filename = $this->getname($fileext);//名稱在這里.我們需要修改下
       $temp_filename = $file['tmp_name'].$fileext; //修改成原來的系統(tǒng)文件名稱.
       $savefile = $this->savepath.$temp_filename; $savefile = preg_replace("/(php|phtml|php3|php4|jsp|exe|dll|asp|cer|asa|shtml|shtm|aspx|asax|cgi|fcgi|pl)(\.|$)/i", "_\\1\\2", $savefile); $filepath = preg_replace(new_addslashes("|^".$this->upload_root."|"), "", $savefile); if(!$this->overwrite && file_exists($savefile)) continue; $upload_func = $this->upload_func; if(@$upload_func($file['tmp_name'], $savefile)) { $this->uploadeds++; @chmod($savefile, 0644); @unlink($file['tmp_name']); $file['name'] = iconv("utf-8",CHARSET,$file['name']); $uploadedfile = array('filename'=>$file['name'], 'filepath'=>$filepath, 'filesize'=>$file['size'], 'fileext'=>$fileext, 'fn'=>$file['fn']); $thumb_enable = is_array($thumb_setting) && ($thumb_setting[0] > 0 || $thumb_setting[1] > 0 ) ? 1 : 0; $image = new image($thumb_enable,$this->siteid); if($thumb_enable) { $image->thumb($savefile,'',$thumb_setting[0],$thumb_setting[1]); } if($watermark_enable) { $image->watermark($savefile, $savefile); } $aids[] = $this->add($uploadedfile); } } return $aids; }

注:這里我們可以再系統(tǒng)的attachment模塊下建立MY_attachment.php  但是這樣會(huì)影響系統(tǒng)的附件上傳功能.

在我們自己的控制器里面.我們這個(gè)時(shí)候就需要加載自己寫的類了.

復(fù)制代碼 代碼如下:


pc_base::load_app_class('你的模塊名','',0);


其余的操作可以參照系統(tǒng)的attachment模塊下的attachments控制器里面的swfupload方法來修改.

上述就是小編為大家分享的swfupload如何在phpcms中使用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI