2012-07-09 69 views
0

我正在使用php構建CMS的過程,但是我一直在努力處理動態頁面可以提供的各種不同資產,通常平均頁面將包含圖片(拇指,身體,主要等),內嵌圖像和各種不同的資產(pdf,flv,mp4,doc等)。處理自定義cms的圖像,視頻和文檔

目前用戶可以上傳資源並在服務器上創建一個文件夾,我只想要一些關於如何管理這些方面的技術和概念,以刪除,編輯和鏈接到我的動態網頁內的CMS?我已經有一個包含所有內容(meta_stuff,title,friendly_url,content_text等)的內容表。

在上傳時應該將引用存儲在資產表的某處嗎? 資產(圖片,文檔,視頻等)的所有路徑是否應存儲在一張表中?或爲每個資產分開? 如果多個圖像大小(小,中,大等)存儲在不同的領域,例如(assetid,smallpath,mediumpath,largepath? 什麼技術用於鏈接資產到動態頁面?這應該是一個聯接表或單個我怎麼去檢索不同資產的頁面幾個pdf和幾個圖像? 如何處理資產的刪除,因爲這可以引用到另一個動態頁面? 和其他任何你認爲會有益的東西?感謝您的全力幫助

回答

1

在與您所描述的場景類似的場景中處理資源(視頻,圖片,文檔..)時,請注意以下幾點基本事項:兵。

你想要的是要知道什麼的被上傳,的東西正在上傳什麼樣的和的上傳。要做到這一點,這是很好的有如下表:

編輯:很抱歉的錯誤,asset_types.asset_type_id應與assets.asset_type_id和NOT assesst.asset_id

enter image description here
(注:這只是一個大綱當然,你將有更多的字段)
這個模型可以很容易地完成以下任務

  • 上傳:上傳內容時,將其存儲在某處(使用正確的 .htaccess配置),然後將該路徑存儲在表中。
  • 刪除:當用戶試圖刪除某些東西時,檢查他是否是所有者。
  • 當你想添加一個新類型時,你不需要創建一個新表。

希望這會讓你在正確的方向。

更新:回答您的評論,當用戶想要將圖像添加到例如一篇文章,你這裏有兩種選擇:

  1. 用戶呈現一個按鈕/選擇菜單/無論選擇所需的圖像,一旦點擊它將添加<img src=LINK_TO_RESOURCE" />到內容的主體(確保你保護自己免受XSS)。

    OR

  2. 你用你自己的簡單的標記,當圖像此[[PREFIX_IMG:IMG_ID]]用戶點擊將被添加到內容的主體,內容被瀏覽時,你會替換「標籤」與<img src="LINK_TO_RESOURCE" />您使用IMG_ID獲得。

月2日更新:你有幾個選項,以處理不直接嵌入了「文章」自己的資源。

  1. 你可以有一個領域中的「文章」表中,您可以撥打summary例如,還有一列到assets表,你可以打電話asset_sub_type,有不同的類型,如summary。然後,當您想要查看摘要時,您可以從數據庫中獲取摘要文本/標題,並將資源添加到該摘要中。

  2. (這是我使用的技術)從數據庫中獲取摘要時,我看到哪個圖像是與該文章相關的數據庫,並使用PHP隨時調整大小,並將其附加到摘要中。

+0

感謝您的回覆,我從來沒有想過使用所有者的好主意。 當用戶上傳縮略圖圖像,主圖像並且現在想要將其添加到多個內容頁面時,會發生什麼情況,現在應該將這些路徑添加到實際的內容表本身,還是應該存在另一個包含內容表ID和資產ID?或者其他一些方法? – ninjamaster 2012-07-10 09:10:33

+0

再次感謝您花時間回答,對不起,我對我的問題不太清楚,我理解這個概念是關於實際內容中的內嵌圖像,但是我正在談論的不是本文中的圖像內容,可用於列出文章的圖像,列出視頻縮略圖或功能,例如,如果您查看http://www.bbc.co.uk/sport/0/ – ninjamaster 2012-07-10 10:46:09

+0

例如,單個內容頁面可能有多個關聯的圖像,內容的大圖像,要素中顯示的中等圖像,要在所有內容的列表中顯示的縮略圖圖像等等。我想知道系統應該如何處理它?感謝您的幫助 – ninjamaster 2012-07-10 10:51:13