2012-03-21 56 views
4

我正在建立一個網站,我打算髮布各種帖子,如教程,文章等。我將用php來管理它,但是當涉及到存儲每篇文章的內容時,將顯示的文本,什麼是更好的選擇:使用單獨的文本文件或將其添加爲數據庫中的每個條目?存儲網站內容:數據庫或文件?

我沒有看到爲什麼不直接使用數據庫來存儲內容的原因,但這是我第一次使用數據庫,並感覺有點不對勁。

你在這件事情上有什麼經驗?

+2

[對BLOB或不BLOB](http://research.microsoft.com/apps/)酒吧/?ID = 64525)。順便說一句 - 徵求意見不適用於StackExchange Q&A格式。 – Oded 2012-03-21 10:57:05

+3

那麼,我想知道每個選項的技術上漲或下跌。我並不認爲這是一個意見。實際上,我正在尋找做出任何選擇的事實後果。感謝您的鏈接。 – broncoAbierto 2012-03-21 11:02:03

回答

3

好的朋友我再次訪問這個問題的目的是爲了讀者的利益。經過大量的反覆試驗後,我得出結論:將文本保存在數據庫中非常方便且易於操作。因此,我所有的數據都在數據庫中。以前我在數據庫和文件中的文本部分有一些細節,但現在我已經把所有的東西都移到了數據庫中。

唯一的問題是,當編輯你的文章像標題或標籤或主題等字段在一個簡單的HTML表單上更改。但對於主要內容我創建了一個文本區域。但是我只需要剪切並從文本區域複製到我最喜歡的文本編輯器。並在編輯後拷貝並粘貼回來。

一些好處,迫使我把每一件事的數據庫是

  1. 簡易搜索:你可以在你的文字(特別是主要內容)上運行,如MySQL LIKE奎雷斯。

  2. EASY逃脫:您可以輕鬆地將數據運行命令來逃避特殊字符,使其適合於顯示器等

  3. 抵達來自用戶的輸入:如果你希望用戶給你輸入這是有道理的保存他在數據庫中的輸入,將其轉義並在需要時進行處理。

  4. 像移動表格,備份,合併兩條記錄,按順序排列具有相似內容的帖子等等等等功能在數據庫中比在文件系統中更容易。

  5. 在文件系統中總是有不同的標題等等等等

  6. 我不只是顯示之前將其添加到數據庫之前逃跑用戶輸入顯示丟失的文件,不同的文件名,錯誤的文件的問題。 (我不知道這是否正確)

+0

您是否希望將其存儲在與網站相同的服務器上的數據庫中或存儲在其他位置?從您希望擁有安全的CMS的角度考慮。 – 2016-11-14 15:26:21

1

我給基於我的經驗的意見,

除附件可以存儲在DB的東西,爲什麼?因爲內容管理,備份,恢復,查詢,特別是搜索全文搜索會很容易。

將附加文件存儲在某個文件夾中,並將路徑保留在數據庫表中。

如果您願意在附件中執行搜索,您可以使用一些搜索引擎,如搜索靜態內容的高效lucene搜索引擎。

保持數據庫或文件系統的附件達到對文件重要的級別。

2

Infact我也在做像你這樣的事情。不過,我已經得出如下解釋的結論(幾乎與上面答案中提到的相同)。我希望你現在一定做出了這個決定,但我仍然會解釋它,以便它對未來有用。

我的解決方案:我有一張名爲content_table的表,它包含有關每篇文章,文章或我寫的任何其他內容的詳細信息。文章/文章的主要(文本部分)被放置在.php.txt文件的目錄中。當用戶點擊要閱讀的文章時,將通過使用數據庫中的信息動態創建文章的視圖,然後從.txt文件中拉出文本部分(我將其稱爲主要內容)。該數據庫包含如_content_id_,創建日期,作者,類別(其中大部分成爲元標記)的信息。

兩個主要的好處是:由於在datbase

  • 編輯文本內容少負載

    1. 性能很容易。