2012-11-07 78 views
1

我想知道最好的選擇,以建立一個網站,將允許用戶發送照片,我不知道我是否應該建立在MySQL數據庫接收這些照片,然後將此表格推送到屏幕上並增長。還有其他的選擇嗎?就像在一個文件夾中獲取這些照片一樣,然後使系統像我編寫普通的html和css一樣來獲取它們。要將這些照片作爲桌面上的斑點可能是一種意見,但可能有其他一些可能有趣的知識。多謝你們!數據庫和用戶的照片管理

+0

有幾百萬的選擇,沒有最好的* *什麼(除了冰淇淋(這是巧克力)) – 2012-11-07 21:10:27

+1

comeooo​​on!開心果冰淇淋請! –

回答

1

的第一件事是,你應該永遠保存照片到你的數據庫。 數據庫只能容納約圖像,都存儲在哪裏,信息什麼大小等等

解決方案一:

您可以在某個文件夾保存在服務器上上傳的照片,然後你的時候想要顯示這些照片,只需閱讀該文件夾的內容即可獲取有關上傳照片的信息並將其顯示在您的網頁上。您可以使用PHP輕鬆列出文件夾的內容。這樣您就可以獲得圖像位置信息,並且可以將它們輕鬆添加到HTML中。如果您願意,您可以爲每個用戶提供一個文件夾。然後你就可以從讓說會話獲取用戶,你知道,他的圖像會保存在/上傳/圖像/ {用戶}/

解決方法二:

甚至更​​好的方式是上傳照片到您的服務器文件夾,但上傳照片時可以將有關照片的信息保存到數據庫中。所以當你想要顯示照片只需要通過數據庫表,然後有關於上傳照片的信息。您可以將所需的照片保存在該表中,例如photo_path,photo_size,photo_dimensions,photo_uploader,photo_category等...

這樣,您可以輕鬆地緩存這些信息並在需要時加快您的網站。

第一個解決方案,不利於高流量的網站,因爲你會列出每個頁面請求中的所有文件夾/圖像,這可能是緩慢的。

無論如何,圖像應該進入你的服務器文件夾,你要麼使用PHP函數來讀取該文件夾的信息,如文件夾中有多少圖像,它們的大小等等......你可以用PHP做所有的事情。或者甚至更好,在將圖像上傳到文件夾之前,檢查每個圖像並將該信息保存到數據庫中。如果使用第一個解決方案去,你甚至需要使用數據庫,但如果您的網站的增長,你想提高性能,這可能會咬你。

+1

謝謝!這是有幫助的! –

1

他們上傳時,他們能夠管理用戶的照片,最好的辦法是合併你已經提到如下兩種方式:您在您的項目中上傳的照片將位於根文件夾中創建一個文件夾,你也想關於重命名用戶照片的方式,如果兩個不同的用戶上傳具有相同名稱的照片,則不會發生衝突。其次,必須在用戶表中添加一個字段,該字段將保存他的照片名稱。謝謝。

+0

對不起,再次挖掘出來,但這是一個好主意!例如。重命名數據庫中照片ID之後的文件夾中的照片,併爲每張照片添加其原始名稱的額外列表。 – JustBasti