首先,我注意到有很多關於這個問題,很多標記爲重複。我最終來到this one。是否需要將圖像路徑存儲在數據庫中?
而這個問題的接受答案雖然部分解決了我的問題,但並沒有回答所有問題。
我的問題是,用戶上載圖像。我將路徑存儲在數據庫中,並將圖像文件存儲在文件系統中。 但是,我製作了該圖像的3個副本(大,中,小)。總而言之,我有4張圖片 - 原始的,大的,中等的,小的。
我應該所有4條路徑存儲在數據庫中,像這樣
ID | original | large | medium | small |
----+--------------------+-----------------+-----------------+----------------+
1 | /path/to/original | /path/to/large/ | /path/to/medium | /path/to/small |
或只是存儲原始的路徑,並給予其他3的命名慣例,像這樣: car.jpg, car.jpg, large-car.jpg, medium-car.jpg, small-car.jpg
?
我覺得這種方式對數據庫來說不會那麼沉重,如果後來我想增加另一個尺寸(即額外小),我不必修改數據庫。
嗯,這是一個博客。每個用戶都有他/她自己的目錄。每次用戶使用圖片創建博客時,我都會使用blogID創建一個新目錄,並且在該目錄內我計劃存儲所有4個圖像。 – sqram 2009-07-12 01:21:02
然後,我要做的就是爲所有這些目錄的父對象定義一個常量,define('BLOG_IMAGE_BASE_PATH','/ images/go/here')`或者其他任何內容,理想情況下,函數getImagePath(){返回BLOG_IMAGE_BASE_PATH。 '/'。 $這個 - > blogID; }`,並從中組合圖像路徑。 – chaos 2009-07-12 01:24:18