使用PHP将记录写入.dbf文件?

时间:2014-10-23 12:42:25

标签: php mysql web-applications dbf

我目前正在构建一个网络应用程序,用于显示用户的.csv文件数据,并在其中进行编辑,结果存储在 mySQL 数据库中。

对于app的下一个阶段,我正在考虑实现使用 PHP 以及mySQL数据库将结果写入**现有.DBF **文件的功能。

非常感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

实际上我之前应该想到的第三条路线,可能更适合你想要的东西。当然,PHP允许同时打开两个或多个数据库连接。我刚检查过,PHP有一个dBase的扩展。您没有说明您实际编写的数据库(除了原始dBase使用的.dbf文件之外的几个数据库),因此如果您在此之后还有其他问题,请说明您的目标数据库实际上是什么。但是这个扩展可能适用于所有这些扩展,我想,或者在http://php.net/manual/en/refs.database.php检查PHP的数据库扩展列表。你必须尝试看看。

然后想一下如何一次打开两个连接,这里是一个代码片段(它实际上有oracle作为第二个db,但它显示了基本原理): http://phplens.com/adodb/tutorial.connecting.to.multiple.databases.html 在网上有关于PHP的多个数据库连接的相当多的指导甚至教程,所以也要看看它们。

答案 1 :(得分:0)

这是数据迁移项目中的一种标准情况 - 如何将数据从一个数据库获取到另一个数据库。答案是你必须找出目标文件的格式(在这种情况下是.dbf文件的格式),然后你只需从MySQL文件中收集数据,将其重新排列为所需的格式,然后编写一个使用PHP的文件编写功能的新文件。

我并不是说这很容易;我不知道.dbf文件的格式(它是dBase使用的格式,但也在其他地方使用过)。您不仅需要知道.dbf记录的格式,而且如果您要创建新文件,几乎肯定会有标题信息(但您说这些文件是预先存在的,因此对您来说不应该是一个问题)。但是记录也可能只有少量的标题数据,你需要编写这些标题数据,并且每个标题都需要。

所以你需要找出.dbf文件的确切格式 - 毫无疑问谷歌搜索会找到你的信息。但我理解甚至.dbf可能有各种不同 - 在这种情况下,你需要查看现有文件的结构,以便在需要时解决这些问题。)

如果您不需要即时复制到目标数据库,替代解决方案是它可以选择从CSV文件导入数据,这更容易 - 并且您已经拥有CSV文件。但是可能这些文件中的数据字段的顺序与目标数据库中的字段顺序不同(除非它们来自目标数据库,但是你可能不会尝试将其写回,除非它们是归档记录) 。不过,我要说的是,您可以按照目标数据库所需的字段顺序将数据写入PHP程序的CSV文件中,然后将它们作为seaparate步骤读入目标数据库。换句话说,这是一个两阶段的过程。这特别适用于您进行一次性转移到新数据库的迁移。

总而言之,你有一个充满挑战但又有趣的项目!