FileIO: FTP

本頁說明如何使用 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

<?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 則要保留,否則可刪除。

討論

新增一則回應
登入為 Wikidot 使用者
(將不會發佈)
- +
除非特別註明,本頁內容採用以下授權方式: Creative Commons Attribution-Noncommercial-Share Alike 2.5 License.