2012-08-31 26 views
0

我正在開發一個PHP Web應用程序。尋找存儲用戶上傳圖像並將其顯示在Web應用程序上的有效方法。請讓我知道你的建議。高效的方式來存儲和顯示在PHP Web應用程序

預計圖像數量爲100萬。

+0

有幾種方法。例如,你想將它存儲在數據庫中還是簡單地存儲在文件系統中? – PeeHaa

+1

將它們存儲在文件系統中,以便更快地處理預覽/縮略圖緩存,並保留數據庫條目以管理與用戶的關係。 – moonwave99

回答

2

我的建議是使用文件系統存儲和數據庫存儲的組合。創建一個表格,其中包含有關圖片的元數據(上傳者的用戶ID等),幷包含圖片URL的字段。

當有人上傳圖像時,將文件移動到可從網絡訪問的目錄,然後將記錄存儲在您創建的表中,其中包含有關上傳文件的所有相關數據,包括圖像的URL 。通過這種方式,您可以查詢數據庫以獲取有關圖像的信息,但不必將該文件的內容存儲在數據庫中。

+1

如果您需要在多個Web服務器之間進行負載平衡,您該如何處理? – Barmar

+0

您可以將所有Web服務器連接到公用數據庫服務器。如果您需要擁有多個數據庫服務器,則每個數據庫供應商都有不同的方式來執行此操作,但是對於MySQL,您可能會設置一個用於寫入的主數據庫和多個用於讀取的複製從服務器。該圖像的URL將指向一個文件服務器(亞馬遜AWS適用於此),您將上傳到該文件服務器。 –

+0

通用的數據庫服務器是顯而易見的,關於使用像AWS這樣的服務來處理圖像文件的部分是我沒有想到的。 – Barmar

相關問題