前端采用 layui 開發框架,后端是原生 PHP,沒有使用任何的開發框架。
采用了一個無數據庫配置讀寫類,config 文件讀寫代碼來自網絡。
使用提取碼提取文件,不需要上傳。程序配備了后臺管理系統,都不需要數據庫。
使用說明:
感謝您使用一碼空傳系統無數據庫開源版。如下是需要注意的:
–首先,在后臺的選項中請不要出現帶有”(英文引號)的字符,否則系統會直接崩潰!
–其次,長期使用系統的話請定期在后臺清理數據。若后臺無法清理,請手動刪除 dataconfig.php、filedata.php,并清空 upload 文件夾!
–最后,api.php 是文字傳輸開發 API 接口。實際運營請考慮是否使用!
我們沒有對 Layui 的 CSS 文件本地化,若需要請自行修改!
運行原理:
用戶上傳文件,保存到 upload 文件夾里面,并且重命名文件,使用 md5 算法加密,同一個文件每次的加密都不相同。
調用無數據庫配置讀寫類,寫入三條數據,一個是加密后的文件名,另一個是文件的過期時間,還有一個是提取碼。
默認一天后過期,只需要記錄上傳時間,加上一天就好。如果用戶提取,就先核驗提取碼是否存在,不存在就彈出文件過期或者不存在的彈窗。如果存在,則核驗到期時間是否過去,如果文件過期,就默默地刪除文件,并彈出文件過期或者不存在的彈窗。如果沒有過期,就獲取后臺中的“本站網址”一項,然后拼接完整的下載地址,并調用 JavaScript 的 window.location 方法,實現跳轉。
文字傳輸的更簡單,“閱后即焚”,單獨創建另一個數據庫文件,然后寫入文字數據,讀取后先輸出,再刪除數據,沒什么好描述的。
至于為什么要讓用戶提取文件,再來檢測是否過期,是因為 PHP 屬于弱語言,并不能離開客戶機繼續運轉。就算可以,我也懶得寫。當然如果你有興趣,可以把 admin 目錄下 clear.php 里面刪除的主要代碼新建到 admin 目錄下的另一個 PHP 文件里,再綁定 BT 面板的定時任務,就可以實現全自動清理用戶文件了。