2011-04-30 65 views
1

我即將啓動一個Web應用程序,它將提供相當數量的圖像,因此我希望稍後有一個主要Web服務器和一個靜態內容服務器,並可能還有一個單獨的數據庫服務器。如何使用php上傳到靜態內容服務器?

我想用戶:

  1. 登錄並能夠上傳照片
  2. 照片被改名randrom串
  3. 照片處理成縮略圖
  4. 的照片和縮略圖存儲在靜態服務器上的文件系統中。
  5. 照片和縮略圖的目錄和文件名都存儲在MySQL數據庫

問題是我不知道如何讓用戶即時上傳圖片到一個單獨的服務器。

我曾考慮過使用亞馬遜S3,但在張貼它們之前不能編輯文件名。 (通過POST,我寧願不使用REST API)

我也可以使用php的ftp函數上傳到一個單獨的服務器,但我想動態創建基於圖像屬性的文件夾(so我沒有在一個大文件夾中的所有圖像顯然),但我不知道如果這將工作,如果我使用FTP ...

或者我可以將它們保存在本地並使用CDN,我不太熟悉CDN,所以我不知道以這種方式使用它們是否合適或具有成本效益。

我在這裏有什麼選擇?我希望圖像立即可用(無cron作業/隊列)

謝謝。

回答

1

你可以通過FTP與create directories,所以不應該是一個showstopper。

+0

我看到的唯一問題是,我需要一些方法來檢查該目錄是否已經存在,否則它會覆蓋目錄。 – minjoon 2011-04-30 18:14:17

+0

你可以用ftp_nlist檢查,但我只是試圖改變目錄並在失敗時創建它。 – 2011-04-30 18:16:19

0

我想過使用亞馬遜s3,但是在發佈文件之前你不能編輯文件名。 (通過POST,我寧願不使用REST api)

如果你讓PHP服務器通過POST上傳到S3,你可以隨意命名這些文件。無論如何,你應該這樣做,讓你的用戶直接上傳到S3,而不用在你的PHP代碼之間,聽起來對我來說安全性不好。

相關問題