我的任务是将内部应用程序从带有MSSQL后端的ASP迁移到带有MySQL的PHP。该应用程序允许用户上传和下载文件,搜索其中的内容等...
在确定当前应用程序的范围之后,我发现以前的开发人员在数据库中存储了文件的十六进制值(无论是单词/ pdf等...),而不是在磁盘上创建二进制文件。 ..在一个受保护的文件夹中。我想知道是否应该在新应用程序中复制此行为或执行二进制导入。
在新的应用程序中,我建议编写一个函数,将文件读取为字符串(用于在数据库中进行全文搜索)以及将文件位置存储在磁盘上的字段。
两种方法的优缺点是什么?
答案 0 :(得分:4)
将二进制文件放在磁盘上。没有理由将它们保存在数据库中。
您可能想要做的是使用文档阅读器阅读文件并索引其内容。将该内容放在数据库中,以便您轻松搜索文件。