简简单单 上传下载
背景
我們經常會有手機向電腦傳文件 或者 電腦像手機傳文件的需求。
而通常的解決方案是:手機上安裝一個聊天軟件(如微信),電腦上安裝一個聊天軟件,然后自己給自己傳輸,然后進行下載。
這種方式是很麻煩的:
- 需要手機和電腦上都安裝相應的軟件。
- 需要有一個網絡環境。
- 需要先把文件上傳到聊天軟件的服務器,然后再從軟件服務器進行下載。
為了盡可能的避免這種沒必要的麻煩,于是就做了這個工具,簡簡單單 上傳下載。
選型
做這種工具其實很好做,就是做一個 Server 支持上傳下載在能力就可以了。
這里選擇了用 PHP,而沒有選擇用 NodeJS,主要原因如下:
- NodeJS 雖然方便,但在一個全新的電腦上,除了需要安裝環境之外,還需要安裝依賴,而國內對 npm 的訪問速度并不快,各種解決方案只會增加用戶對于這個工具的使用成本。
- PHP 目前像 MacOS 是默認支持 PHP 環境的,可以直接使用。即便需要安裝環境,也是十分快的,且不用安裝依賴。
- PHP 5.4 已經支持內置的 Web Server 了,所以開啟一個 Server 十分簡單。
開發
PHP Server 命令:
php [options] -S <addr>:<port> [-t docroot] [router]直接在當前目錄下,執行上面的命令就可以了。
PHP 默認對上傳的大小和數量進行了限制,而這些修改只能通過 php.ini?文件進行修改,而 php 命令是支持指定 php.ini 的位置的。
-c <path>|<file> Look for php.ini file in this directory所以我們可以直接在項目目錄下放置?php.ini?文件進行配置,并通過指定的方式進行執行:
php -c ./ -S 地址:端口?php.ini?需要需改的地址,可參考(鏈接):
upload_max_filesize = 0 max_file_uploads = 1000 ; 最大上傳數量,1000應該夠了 memory_limit = -1 post_max_size = 0 max_execution_time = 0 max_input_time = -1效果
效果如下。
執行
php -c ./ -S localhost:8000輸出:
$ php -c ./ -S localhost:8000 PHP 7.3.24-(to be removed in future macOS) Development Server started at Wed Apr 14 13:49:57 2021 Listening on http://localhost:8000 Document root is /Users/lecepin/multi-file-upload Press Ctrl-C to quit.點擊 Listening on 后面的地址 http://localhost:8000 即可訪問。
注意:因為手機訪問需要用的電腦中的局域網地址,所以訪問上面命令生成后的地址,會對 IP 進行校驗,如果不是局域網的,則會生成一個準確的命令,再執行一次即可,如下圖所示:
?上傳
正常啟動后,界面如下所示:
?
手機和電腦在同一網絡的情況下,直接掃碼即可訪問。
上傳后,會進行相應狀態提示,如下圖所示:
?下載
如果想進行上傳文件的下載,可以點擊 已上傳 鏈接進行訪問,如下圖所示:
?
對于需要提供給手機端進行下載的文件,也可以直接放到 Upload 目錄中,會在 已下載 頁面呈現。
Upload 文件夾會在上傳文件操作中自動創建。
代碼詳情訪問 Github?multi-file-upload?。
總結
- 上一篇: Eclipse设置中文及取消
- 下一篇: OXY OPENCART 商城自适应主题