本頁說明如何使用 FileIO FTP 功能將圖檔利用 FTP 方式儲存至外部空間,藉以節省本機儲存空間和頻寬不足的問題。
定義
外部空間
目標是存放圖檔。此空間需要開設 FTP 服務及 HTTP 服務,同時需增設 FTP 帳號以供程式登入上傳圖檔。
需要提供給本機空間的資料:
- FTP 主機位置
- FTP 服務 Port (預設 Port 21)
- FTP 登入帳號/密碼
- 是否使用被動模式
- 圖檔存放遠端位置
- 圖檔存放位置對應之 HTTP 網址
圖檔存放遠端位置是以 FTP 根目錄的角度來看的,而非外部空間之實際絕對路徑,比方說 /static/image。
圖檔存放位置對應之 HTTP 網址則是放在 /static/image 裡面的圖檔,我要以 HTTP 要求時的 URL 為何。看網頁伺服器的設定有可能是 http://static.example.com/image/ 這樣的。
本機空間
主要提供服務的主機,跟一般情況一樣,只是遇到圖檔要求的情況都以超連結導至外部空間,由外部空間供圖。
設定步驟
前置
假設我們有一個 FTP 伺服器: ftp.example.com,埠號 21。使用者名稱和密碼皆為 demo。要放置圖檔的遠端 FTP 目錄為 /pwd,其對應 HTTP 的位置是 http://www.example.com/~demo/pwd。
有了這些之後,便可以修改 config.php。
修改 config.php
define("FILEIO_BACKEND", 'ftp'); // FileIO後端指定 define("FILEIO_PARAMETER", serialize(array('ftp.example.com', 21, 'demo', 'demo', 'PASV', '/pwd/', 'http://www.example.com/~demo/pwd/', true))); // FileIO參數 (FTP)
從本機端移到 FTP
或許用到一半才想從本機端轉用另一台機器來服務圖檔要求,這時的步驟比較麻煩點。請決定預覽圖要留在本機還是遠端,因為操作略有不同。
搬移舊有圖檔
使用各種方法,想辦法把原本本機圖檔 /src 和 /thumb 複製到另一台機器上。以 HTTP、FTP、SSH、隨身碟、雲端…隨你便。
如果決定預覽圖要留在本機,則不必複製 /thumb。
修改 config
同上面教學,遠端 FTP 的資訊和對應的 HTTP 都要寫正確。更改 FILEIO_BACKEND 自 normal 為 ftp。
決定預覽圖要留在本機還是遠端,如果要留在本機,最後一項參數需改成 false。
重新更新頁面內容
瀏覽主頁→管理區→更新文章以更新頁面。
刪除 /cache 所有檔案使回應快取失效重新生成。
檢查頁面
瀏覽一下頁面,試發一篇圖文,看看功能是否正常。
如果一切都沒問題,便可以移除本機的 /src。如果預覽圖要留在本機,/thumb 則要保留,否則可刪除。
預覽網頁:
關閉預覽