2017-05-06 37 views
4

我必須管理用戶的烹飪食譜,個人資料圖片等許多照片...管理網站SQL中保存的圖像的最佳方法是什麼?

目前我正在使用本地XAMPP服務器的網站上工作:圖像存儲到目錄中的文件夾該項目和引用的鏈接是用SQL插入到數據庫中的。在需要時,我會查詢獲取照片的網址。

如果將來我決定購買虛擬主機,在那裏我可以保存用戶上傳的圖像?

+2

的網絡空間,你買將有一個目錄結構,就像你的本地計算機。您通常會將照片存儲在該結構的某處。 –

+0

通常預留多少空間? –

+2

真的取決於你租用的網絡空間......但是現在,即使是廉價的計劃也能讓你得到千兆字節,有時甚至達到數百兆字節。 –

回答

3

我會得到什麼,當我買了「服務器」

正如評論所說,如果你把一個「真正的主機」(不打包「WordPress的解決辦法」),這將是一樣的本地開發機器。

你必須:

  • 文件夾/www/您可以通過FTP(有時SSH)訪問,
  • 在給定的URL啓用了一個phpMyAdmin的網頁界面,
  • MySQL數據庫,您可以訪問從phpMyAdmin或從您的代碼與給定的憑據。

如何處理圖片的大小?

圖片通常很大,所以我怎麼猜測我需要存儲它們的大小呢?

你不是誰擁有存儲用戶的圖片第一個:Facebook認爲,reddit的和很多其他的服務。

關鍵的一點是,他們沒有照片存儲「因爲它」,他們用兩個因素來保持一定的尺寸控制之下:

  • 的實際尺寸,像素,畫面的。 (你通常不需要一張5'000 x 3'500px的圖片 - 用於打印A0海報 - 但是相機會給你什麼)
  • 格式和壓縮係數。

對於第一點,2'000px已經圍繞4K顯示高度(〜2,2Kpx)。出於網絡目的,自從年齡以來使用500px,但隨着屏幕變得更好,1Kpx和2Kpx高度似乎成爲標準。選擇適合你的用途。

對於第二個,您可能知道PNGJPG格式。第一種是「無損」壓縮,第二種是「有損」壓縮。這意味着如果你想節省空間,你必須權衡你的圖片質量,並採取或多或少壓縮JPG。

之後,你應該在每張圖片500Ko以下,所以對於你的食譜使用案例,這意味着至少2'000食譜與每張圖片在達到1Go里程碑之前......


文件存儲/ DB存儲

有時你可能會聽到 「存儲在數據庫中的圖片」 的。這是另一種解決方案,而不是爲照片保留一個存儲文件夾的名稱或基於id的路徑。 有了這個,你可以直接在圖片的二進制數據存儲在你的數據庫的列(見how to store/how to display)。

那麼,有什麼好的解決辦法嗎?我會說:

  • 良好的一面,存儲在數據庫是處理圖片最簡單的方法,因爲它們字面上保留用戶信息的一部分線。您可以在不打擾文件夾和路徑的情況下檢索它們,它們也將在您的數據庫備份中,並將沿着數據庫中的用戶行刪除。
  • 不利的一面是,它不是真的什麼DB是。圖片通常真的很大(數碼單反可以達到10Mo:10'000'000個字符的大小),它會減慢你的查詢速度。如果你不小心,它可能會緩慢地被緩存。
相關問題