成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

xiaotianyi / 2580人閱讀

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

前言

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

創(chuàng)建新模塊

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

找到位置后,開始填寫表單,因為功能比較簡單,填寫不多,內(nèi)容如下:

填寫完畢,下方兩個選項:

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

查看模塊

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

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

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

點擊之后出現(xiàn) 核心功能設(shè)置 頁面,因為還沒開始細致開發(fā),所以暫時是空白的

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

各文件作用如下:

template文件夾 存放模板文件夾

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

manifest.xml 描述文件

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

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

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

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

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

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


    
        
    

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

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

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

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

編寫功能

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

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

site.php代碼:

template("ftp_do");
    }
}

ftp_do代碼:

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

重新安裝,查看頁面:

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

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

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

ftp_do.html代碼如下:

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

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

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

    /**
     * Ftp具體上傳操作
     */
    public function doWebDo()
    {
        if ($_POST["sub"]) {
            $file = $_FILES["thefile"];
            if ($file) {
                // 若所有檢測都通過
                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");
    }

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

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

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

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

代碼完成,開始操作:

上傳成功,查看ftp驗證:

Ok!搞定了。

總結(jié)

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

下載

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

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/30579.html

相關(guān)文章

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

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

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

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

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

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

    TZLLOG 評論0 收藏0
  • 如何通過curl完成一些功能

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

    Java_oldboy 評論0 收藏0
  • Vue ES6 Jade Scss Webpack Gulp

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

    rickchen 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<