結構
將要升級的文件按原目錄結構存放

和程序要一起打包的文件有:
version.txt:版本信息
delete.txt:要刪除的文件清單(一行一個文件)
table.sql:新版的數據表結構文件,用于執行比較新舊版本數據結構,并調整更改
update.sql:要執行的SQL文件(單獨執行)
run.php:如果升級涉及到比較復雜的操作,可以在這里寫PHP文件引入執行
升級原理順序
遠程獲取升級包數據
將 ZIP 壓縮包下載到 _data 目錄下
將下載好的壓縮包解壓到 _data/update/ 目錄下
歸納整理文件(主要是收集:version.txt,delete.txt,table.sql,update.sql,run.php)
將 framework 這個目錄的文件及文件夾移到現有程序的核心框架(可能用戶會因為安全原因改名)
移動其他目錄文件(或創建目錄)
刪除delete.txt清單中的文件【非必須】
執行 table.sql 操作(比較表結構,更新到最新的表結構)【非必須】
運行 update.sql 或是其他的 sql 文件【非必須】
運行 run.php 執行復雜的升級操作【非必須】
刪除 _data/update/ 下的文件
基于 version.txt 更新版本記錄
特別說明
table.sql 必須是完整的數據表結構,才能進行升級比較,基本上這個操作比較復雜,不推薦使用
delete.txt 主要是刪除文件操作,除非涉及到安全漏洞,一般我們沒必要執行刪除操作
update.sql 這里執行的SQL是不進行判斷的,如果涉及到升級一關失敗了,可能會出錯(除非SQL里有寫好相應的判斷)
run.php 重點在這里,這個文件意味著可以完全嵌入執行PHP,可以用PHP來寫數據表的增刪查改,也支持文件的刪除,也支持數據表結構的更新等等!一般OK程序的升級都會有這個的(純文件覆蓋更新連這個都可以忽略的)