摘要:前言公司需要一個(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文件,在
保存,上傳,預(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
開發(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í)唯一用戶呢?是的,...
摘要:擴(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)多線...
摘要:并可以實(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...
摘要:例如模擬表單向某個(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...
摘要:主有前端后端,并加,各一名。本著工欲善其事,必先利其器的理念,一直以來在工作效率這塊,略懷執(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/ 一...
閱讀 2585·2021-09-26 10:13
閱讀 5999·2021-09-08 10:46
閱讀 696·2019-08-30 15:53
閱讀 2970·2019-08-29 16:13
閱讀 2763·2019-08-26 12:23
閱讀 3490·2019-08-26 11:24
閱讀 1097·2019-08-23 18:09
閱讀 1036·2019-08-23 17:08