2010-04-16 66 views
4

我想將媒體庫添加到基於Zend Framework和Doctrine構建的定製CMS上。目標是構建像Worpress的媒體庫這樣的東西:您可以上傳媒體,然後將其附加到例如文章中。寫你自己的媒體庫:從哪裏開始?

你有什麼建議如何開始呢?數據庫應該如何設計?是否有任何代碼可以(重新)用於構建它?在這個問題上我應該閱讀哪些文獻?謝謝!!

回答

2

我不知道怎麼庫工作準證建成,但它是開源的,你可以去看看。

至於表結構,假設你想你想要交叉引用表一個多到多個環節,是這樣的:

record_id (int) 
media_id (int) 
title (text) 
caption (text) 
rank (int) 

然後媒體表會是這樣的:

id (int) 
title (text) 
caption (text) 
filename (text) 
type (image|multimedia|document) 

也許你也想一folder_id字段添加到媒體表,或者你想,而不是標籤,在這種情況下,你有media_id和標籤作爲字段中的第三表(或你的標籤,逗號分隔值在媒體ta BLE)。

這將讓你鏈接一個媒體到多個項目和一個項目到多個媒體。它會讓您爲媒體項目設置標題和標題,併爲特定的鏈接覆蓋它。例如,你有一張房子的照片,上面標註了它的房子,但是在一個環節中,標題被覆蓋(在交叉參考表中),並帶有文字說明這座房子是如何構建某個建築的例子。 SQL的coalesce函數將派上用場,以獲得正確的標題和標題。

如果鏈接到媒體的內容來自多個表格,比如說你有一張名爲'staff'的表,另一個名爲'products',他們都可以鏈接到媒體,那麼交叉引用表也需要有一個表名稱字段。 類型字段是讓您可以輕鬆獲得只附加到記錄的多媒體,或只有圖像;你可能想要統計附加了多少文檔,多少圖片等等,根據每個查詢的文件名,這意味着你的查詢速度較慢。

這件事不太適合的一件事是將媒體託管在網站外。如果您使用Amazon S3來存儲這些圖像,那麼'文件名'字段實際上就是圖像的URL。我只是在設計媒體庫時將其作爲一件需要考慮的事情。

我想不出任何可以複製粘貼的文獻或代碼,但這並不難,儘管我很欣賞這可能會花費很多時間。

祝你好運。

0

寫一個文件上傳和文件瀏覽器
這一切