注意:
此扩展已移至 » PECL 存储库,从 PHP 5.3.0 开始不再与 PHP 捆绑在一起。
这些函数允许您访问存储在 dBase 格式 (dbf) 数据库中的记录。
我们建议不要将 dBase 文件用作生产数据库。请改用 » SQLite 或选择任何真正的 SQL 服务器;» MySQL 或 » Postgres 是 PHP 中的常见选择。dBase 支持是为了允许您导入和导出到 Web 数据库以及从 Web 数据库导出数据,因为此文件格式通常为 Windows 电子表格和组织者所理解。
从 dbase 7.0.0 开始,数据库通过 flock() 自动锁定。之前没有锁定支持,因此两个并发 Web 服务器进程修改同一个 dBase 文件很可能会破坏您的数据库。即使在 dbase 7.0.0+ 上,在使用多线程 SAPI 在进程级别实现锁定的系统上,也可能发生这种情况。
dBase 文件是简单的固定长度记录的顺序文件。记录追加到文件的末尾,已删除的记录将保留,直到您调用 dbase_pack()。
仅支持 dbf 文件级别 3 (dBASE III+) - 5 (dBASE V)。可用的 dBase 字段类型为
字段 | dBase 类型 | 格式 | 其他信息 |
---|---|---|---|
M |
备忘录 | n/a | PHP 不支持此类型,此字段将被忽略 |
D |
日期 | YYYYMMDD |
字段长度限制为 8 |
T |
日期时间 | YYYYMMDDhhmmss.uuu |
(FoxPro) 不进行有效性检查。从 dbase 7.0.0 开始可用。 |
N |
数字 | 一个数字 | 您必须声明长度和精度(小数点后的位数)。 |
F |
浮点数 | 一个浮点数 | 与 N 相同。 |
C |
字符串 | 一个字符串 | 您必须声明长度。检索数据时,字符串将用空格右填充以适合声明的长度。存储数据时,过长的字符串将被静默截断。 |
L |
布尔值 |
T 或 Y 表示 true ,F 或 N 表示 false ,? 表示未初始化。 |
从 dbase 7.0.0 开始,返回 bool(true 或 false ),或对于未初始化的字段返回 null 。以前,返回 int(1 或 0 )。 |
注意:
从 dbase 7.0.0 开始,对于
DBASE_TYPE_FOXPRO
数据库支持可空字段。如果一个字段是可空的,则传递null
将设置相应的标志,并在以后检索时字段值将为null
。
注意:
不支持索引或备忘录字段。