成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微擎模塊開發(fā)之FTP上傳模塊

xiaotianyi / 2520人閱讀

摘要:前言公司需要一個(gè)新模塊用來上傳微信驗(yàn)證文件到網(wǎng)站根目錄,這里記錄下開發(fā)過程,供大家參考。

前言

公司需要一個(gè)新模塊用來上傳微信驗(yàn)證txt文件到網(wǎng)站根目錄,這里記錄下開發(fā)過程,供大家參考。

創(chuàng)建新模塊

登陸系統(tǒng) -> 快捷入口 -> 系統(tǒng)管理 -> 擴(kuò)展 -> 模塊管理 -> 設(shè)計(jì)新模塊,步驟如下圖:

找到位置后,開始填寫表單,因?yàn)楣δ鼙容^簡(jiǎn)單,填寫不多,內(nèi)容如下:

填寫完畢,下方兩個(gè)選項(xiàng):

這里看需求吧,我選的是直接生成,方便下一步開發(fā)。

查看模塊

生成完畢,在系統(tǒng)管理 -> 擴(kuò)展 -> 模塊管理 -> 安裝模塊 出可找到將其安裝。

確定提示,安裝完畢后,在 系統(tǒng)管理 -> 擴(kuò)展 -> 模塊管理 -> 已安裝模塊出可找到

在 營(yíng)銷模塊 -> 常用服務(wù)和工具 處可找到菜單

點(diǎn)擊之后出現(xiàn) 核心功能設(shè)置 頁(yè)面,因?yàn)檫€沒開始細(xì)致開發(fā),所以暫時(shí)是空白的

最后在看看addons目錄下生成的文件

各文件作用如下:

template文件夾 存放模板文件夾

module.php 這個(gè)文件內(nèi)容為微擎模塊定義, 應(yīng)為 WeModule 類的派生類. 請(qǐng)參閱(微擎處理流程-模塊定義)

manifest.xml 描述文件

preview.jpg 模塊封面, 規(guī)格為600px*350px

icon.jpg 模塊圖標(biāo), 規(guī)格為48px*48px

初步創(chuàng)建模塊結(jié)束

細(xì)致開發(fā) 入口菜單

下一步增在核心功能頁(yè)面增加兩個(gè)菜單,分別為:上傳設(shè)置 和 立即上傳

打開插件目錄下的manifest.xml文件,在節(jié)點(diǎn)中新增一個(gè)節(jié)點(diǎn),代碼如下:


    
        
    

保存,上傳,預(yù)覽:

這里居然沒有反應(yīng),沒錯(cuò),不管更新多少次緩存,依舊沒反應(yīng),檢查確認(rèn)文件確實(shí)已經(jīng)上傳了,那么為什么呢?

答案是:卸載模塊,重新安裝即可。

那么卸載安裝后,效果如下:

編寫功能

就最初程序功能設(shè)計(jì)來說,相關(guān)設(shè)置是固定死的了,那么現(xiàn)在只需實(shí)現(xiàn)一個(gè)功能,就是管理員選擇文件上傳。

開始第一步,當(dāng)前模塊文件夾下新建site.php文件(微站頁(yè)面),在template文件夾下新建ftp_do.html(上傳操作模板)

site.php代碼:

template("ftp_do");
    }
}

ftp_do代碼:

{template "common/header"}
hello
{template "common/footer"}

重新安裝,查看頁(yè)面:

ok,說明兩個(gè)文件和模板指定都是沒問題的。

第二步,開始細(xì)致編寫site.php和ftp_do.html兩個(gè)文件的代碼。

ftp_do.html中就是一個(gè)表單,因?yàn)闆]有從微擎提供的函數(shù)庫(kù)中找到file相關(guān)方法(只看到了上傳圖片等相關(guān)的函數(shù),如:tpl_form_field_image()),表單還是采用php原始方案吧,省心。

ftp_do.html代碼如下:

{template "common/header"}
{template "common/footer"}

然后site.php代碼就簡(jiǎn)單了,限制某些參數(shù),實(shí)現(xiàn)上傳:

 "沒有錯(cuò)誤發(fā)生,文件上傳成功",
        1 => "上傳的文件超過了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值",
        2 => "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值",
        3 => "文件只有部分被上傳",
        4 => "沒有文件被上傳"
    ];

    /**
     * Ftp具體上傳操作
     */
    public function doWebDo()
    {
        if ($_POST["sub"]) {
            $file = $_FILES["thefile"];
            if ($file) {
                // 若所有檢測(cè)都通過
                if ($this->_checkError($file["error"]) &&
                    $this->_checkMaxSize($file["size"]) &&
                    $this->_checkFileType(pathinfo($file["name"])) &&
                    $this->_chekFileIsExists($file["name"]))
                {
                    if (move_uploaded_file($file["tmp_name"], IA_ROOT."/".$file["name"])) {
                        echo "";
                    } else {
                        echo "";
                    }
                }
            }
        }
        include $this->template("ftp_do");
    }

    /**
     * 檢測(cè)文件上傳是否出錯(cuò)
     *
     * @param $error_code
     * @return bool
     */
    private function _checkError($error_code)
    {
        if ($error_code > 0) {
            echo "";
            return false;
        }
        return true;
    }

    /**
     * 檢測(cè)文件大小是否符合要求
     *
     * @param $size
     * @return bool
     */
    private function _checkMaxSize($size)
    {
        if ($size > $this->_max_size) {
            echo "";
            return false;
        }
        return true;
    }

    /**
     * 檢測(cè)文件格式是否符合要求
     *
     * @param $type
     * @return bool
     */
    private function _checkFileType($type)
    {
        if ($type["extension"] != $this->_file_type) {
            echo "";
            return false;
        }
        return true;
    }

    /**
     * 檢測(cè)文件是否已存在
     *
     * @param $filename
     * @return bool
     */
    private function _chekFileIsExists($filename)
    {
        if (file_exists("/".$filename)) {
            echo "";
            return false;
        }
        return true;
    }
}

代碼完成,開始操作:

上傳成功,查看ftp驗(yàn)證:

Ok!搞定了。

總結(jié)

作為一個(gè)用于上傳txt驗(yàn)證文件的模塊,到此為止就開發(fā)完了,仔細(xì)算起來,其實(shí)沒什么東西,功能就是一個(gè)簡(jiǎn)單的上傳,因?yàn)槭且郧皼]弄過微擎的模塊,網(wǎng)上資料不是太多,所以稍微饒了點(diǎn)彎,希望這篇文章對(duì)大家開發(fā)模塊有幫助吧。

下載

GitHub地址:https://github.com/qingye5786...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30579.html

相關(guān)文章

  • 微擎中使用微信門接口,讓訂閱號(hào)也能直接以網(wǎng)頁(yè)的方式獲取OpenID

    開發(fā)微擎模塊的時(shí)候 常會(huì)遇到一個(gè)問題:只有服務(wù)號(hào)才能直接在網(wǎng)頁(yè)上獲取OpenID,如果是訂閱號(hào)就只能從對(duì)話消息中獲取OpenID然后傳到網(wǎng)頁(yè),雖然微擎有個(gè)功能叫做借用oAuth權(quán)限,但是有時(shí)候連借都沒地方借,怎么辦呢?還好這是個(gè)互聯(lián)網(wǎng)時(shí)代,有需求,就會(huì)有服務(wù)。微信之門就是為此而生的,轉(zhuǎn)發(fā)一下他們的簡(jiǎn)介: 微信打開的網(wǎng)頁(yè),是無法持久存貯 cookies 的,你知道嗎? 那么如何辨識(shí)唯一用戶呢?是的,...

    Imfan 評(píng)論0 收藏0
  • python初學(xué)——網(wǎng)絡(luò)編程FTP服務(wù)器支持多并發(fā)版本

    摘要:擴(kuò)展支持多用戶并發(fā)訪問與線程池。項(xiàng)目請(qǐng)見初學(xué)網(wǎng)絡(luò)編程之服務(wù)器。不允許超過磁盤配額。該文件是一個(gè)使用模塊編寫的線程池類。這一步就做到了線程池的作用。 對(duì)MYFTP項(xiàng)目進(jìn)行升級(jí)。擴(kuò)展支持多用戶并發(fā)訪問與線程池。MYFTP項(xiàng)目請(qǐng)見python初學(xué)——網(wǎng)絡(luò)編程之FTP服務(wù)器。 擴(kuò)展需求 1.在之前開發(fā)的FTP基礎(chǔ)上,開發(fā)支持多并發(fā)的功能2.不能使用SocketServer模塊,必須自己實(shí)現(xiàn)多線...

    oysun 評(píng)論0 收藏0
  • python初學(xué)——網(wǎng)絡(luò)編程FTP服務(wù)器

    摘要:并可以實(shí)現(xiàn),功能對(duì)用戶進(jìn)行磁盤配額,每個(gè)用戶的可用空間不同使用模塊檢查用戶目錄的空間上文件大小,如果大于就不讓傳輸。不允許超過磁盤配額。文件的傳輸過程中顯示精度條。用戶價(jià)值實(shí)現(xiàn)一套自己的服務(wù)端與客戶端。 MYFTP是我寫的模擬FTP服務(wù)端和客戶端交互的程序。通過使用socket去模擬ftp的文件下載與上次兩個(gè)核心功能。并不是使用真實(shí)FTP協(xié)議去實(shí)現(xiàn)。 基本需求 用戶加密認(rèn)證 # ha...

    TZLLOG 評(píng)論0 收藏0
  • 如何通過curl完成一些功能

    摘要:例如模擬表單向某個(gè)地址發(fā)送數(shù)據(jù)在無驗(yàn)證碼的情況下模擬表單完成用戶登陸上傳某個(gè)文件到遠(yuǎn)程服務(wù)器請(qǐng)求遠(yuǎn)程服務(wù)器提供的某些功能支持和協(xié)議。我們?cè)谑褂眠^程當(dāng)中,如果沒有基礎(chǔ)根本不知道如何開發(fā)微信公眾號(hào)。 微信微博公眾號(hào)、QQ公眾號(hào)、地圖和很多的第三方功能提供都是采用http 的API(應(yīng)用程序)形式向開發(fā)人員提供的功能。 如果你只希望能夠做些簡(jiǎn)單的微信公眾號(hào)、QQ公眾號(hào)等小應(yīng)用,深入學(xué)習(xí)PHP...

    Java_oldboy 評(píng)論0 收藏0
  • Vue ES6 Jade Scss Webpack Gulp

    摘要:主有前端后端,并加,各一名。本著工欲善其事,必先利其器的理念,一直以來在工作效率這塊,略懷執(zhí)念一個(gè)問題不應(yīng)該被解決兩次。下圖為開發(fā)項(xiàng)目機(jī)制所涉及到的插件工欲善其事,必先利其器,語(yǔ)言,框架皆可以歸結(jié)為器而不當(dāng)僅局限于開發(fā)工具以及機(jī)。 原文鏈接: http://www.jeffjade.com/2016/05/08/106-vue-es6-jade-scss-webpack-gulp/ 一...

    rickchen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<