[英]Storing website content: database or file?
我正在建立一个网站,我打算发布各种帖子,比如教程,文章等。我打算用php管理它,但是当涉及到存储每个帖子的内容时,非常将显示的文本,有什么更好的选择:使用单独的文本文件或将其添加为数据库中的每个条目?
我没有看到为什么不直接使用数据库存储内容的原因,但这是我第一次使用数据库而且感觉有点不对劲。
你在这件事上有什么经历?
好的朋友我再次访问这个问题是为了那些读过这个答案的人的利益。 经过大量的反复试验,我得出的结论是,在数据库中保存文本非常方便,易于操作。 因此,我的所有数据现在都在数据库中。 以前我在数据库中有一些细节,文件部分在文件中,但现在我已将所有数据移到数据库中。
唯一的问题是,在编辑帖子时,标题,标签或主题等字段会在简单的html表单上更改。 但是对于主要内容我创建了一个文本区域。 但是我只需要将它从文本区域剪切并复制到我最喜欢的文本编辑器中。 并在编辑后复制并粘贴回来。
一些好处迫使我把所有东西放在数据库中
轻松搜索:您可以在文本上运行像mysql LIKE这样的quires(特别是主要内容)。
EASY ESCAPING:您可以轻松地在数据上运行命令以逃避特殊字符并使其适合显示等。
从用户获取输入:如果您希望用户为您提供输入,则将其输入保存在数据库中,将其转义并在需要时对其进行操作是有意义的。
移动表,备份,合并两个记录,按顺序排列具有相似内容的帖子等等功能在数据库中比文件系统更容易。
在文件系统中总是存在丢失文件,不同文件名,不同标题显示错误文件等问题
在显示之前将其添加到数据库之前,我不会转义用户输入。 这样就没有永久性的更改存储到文本中。(我不知道是否可以)
事实上我也在做像你这样的事情。 但是我已经得到了如下所述的结论(几乎与我上面的答案中提到的相同)。 我希望你现在必须做出决定,但我仍然会解释它,以便它对未来有用。
我的解决方案:我有一个名为content_table
的表,它包含有关每篇文章,帖子或我写的任何其他内容的详细信息。 文章/帖子的主要(文本部分)放在.php
或.txt
文件的目录中。 当用户点击要阅读的文章时,通过使用数据库中的信息然后从.txt
文件中拉出文本部分(我称之为主要内容)来动态创建文章视图。 该数据库包含类似_content_id_, 创建日期 , 作者 , 产品类别 (极本成为meta标签)的信息。
两个主要好处是:
我根据自己的经验给出评论,
除了附件,你可以将内容存储在数据库中,为什么因为管理内容,备份,恢复,查询,搜索特别是全文搜索会很容易。
将附加文件存储在某个文件夹中,并将路径保留在DB表中。
如果你愿意在附件中实现搜索,你可以使用像lucene这样的搜索引擎来搜索静态内容。
保持数据库或文件系统中的附件达到文件的重要级别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.