注意:
此擴充已移至 » PECL 儲存庫,並且從 PHP 5.3.0 開始不再與 PHP 捆綁在一起。
這些函式允許您存取儲存在 dBase 格式 (dbf) 資料庫中的記錄。
我們建議不要使用 dBase 檔案作為您的正式資料庫。請使用 » SQLite 或選擇任何真正的 SQL 伺服器;» MySQL 或 » Postgres 是 PHP 常見的選擇。dBase 支援的目的是允許您匯入和匯出資料到您的網路資料庫,因為 Windows 試算表和管理器通常都理解這種檔案格式。
從 dbase 7.0.0 版本開始,資料庫會透過 flock() 自動鎖定。之前的版本不支援鎖定,因此兩個同時修改同一個 dBase 檔案的網頁伺服器程序很可能會損毀您的資料庫。即使使用 dbase 7.0.0+ 版本,在多執行緒 SAPI 的系統中,以程序層級實作鎖定的情況下,這種情況也可能發生。
dBase 檔案是由固定長度記錄組成的簡單循序檔案。記錄會附加到檔案的末尾,而刪除的記錄會保留,直到您呼叫 dbase_pack() 為止。
僅支援 dbf 檔案等級 3 (dBASE III+) - 5 (dBASE V)。可用的 dBase 欄位類型如下:
欄位 | dBase 類型 | 格式 | 額外資訊 |
---|---|---|---|
M |
備忘錄 | 無 | 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,傳遞null
將會設定對應的旗標,之後擷取時,欄位值將會是null
。
注意:
不支援索引或備忘錄欄位。