[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Php > 正文
PHP4手冊:函數庫及函數(九) dBase 格式資料表函式庫
http://netleader.126.com 星空浪子 (2001-04-18 11:24:06)

--------------------------------------------------------------------------------
 dBase 格式資料表函式庫 
--------------------------------------------------------------------------------
 


本函式庫共有 9 個函式
本函式庫可供 Web 伺服器存取 dBase 的 dbf 資料表。目前本函式庫無法存取 dBase 中的 indexes 或 memo 的欄位,亦無法將資料表鎖上。在使用上特別需要小心使用,因為它不是真正的資料庫系統,僅是儲存資料的資料表而已,二個以上的使用者同時存取同一個資料表時甚至可能會發生 dbf 資料表崩毀的情形。如果可能話,最好是用真正的資料庫系統,如 MySQL 或 Oracle 等,就不會有多人使用時導至資料損毀的困擾。  


dbase_create: 建立 dBase 資料表。 
dbase_open: 開啟 dBase 資料表。 
dbase_close: 關閉 dBase 資料表。 
dbase_pack: 清理 dBase 資料表。 
dbase_add_record: 加入資料到 dBase 資料表。 
dbase_delete_record: 刪除 dBase 資料表的資料。 
dbase_get_record: 取得 dBase 資料表的資料。 
dbase_numfields: 取得 dBase 資料表的欄位數。 
dbase_numrecords: 取得 dBase 資料表的列數。 


--------------------------------------------------------------------------------
 函式:dbase_create() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_create
建立 dBase 資料表。

語法: int dbase_create(string filename, array fields);

傳回值: 整數

函式種類: 資料庫功能


 
 
內容說明 


本函式用來建立新的 dBase 資料表。參數 filename 為資料表的名字及路徑。參數 fields 為陣列,其中定義各欄位的資訊,包含欄位名稱、欄位形態、及欄位長度等。下表為 fields 的值

形態 說明 
L 布林值 (Boolean)。不需定義資料長度。 
M 備忘資料 (Memo)。PHP 目前不支援本形態。 
D 日期 (Date)。儲存格式為 YYYYMMDD。 
N 數字形態 (Number)。需定義小數前的位數。 
C 字串 (String)。需定義字串長度。  


若無法建立則傳回 false,成功則傳回資料表的 ID。


 
 
使用范例 


下例為建立資料表的例子

$dbname = "/mypath/user.dbf";
// 定義資料表欄位
$user = array(
  array("name",     "C",  10),
  array("age",      "N",   3, 0),
  array("address",  "C", 256),
  array("birthday", "D"),
  array("sex", "L")
);
if (!dbase_create($dbname, $user))
  echo "無法建立使用者資料表";
?> 


--------------------------------------------------------------------------------
 函式:dbase_open() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_open
開啟 dBase 資料表。

語法: int dbase_open(string filename, int flags);

傳回值: 整數

函式種類: 資料庫功能


 
 
內容說明 


本函式用來開啟現有的 dBase 資料表。參數 filename 為資料表的名字及路徑。參數 flags 為開檔的屬性,0 表唯讀、1 表唯寫、2 表可讀寫。若無法開啟則傳回 false,成功則傳回資料表的 ID 值。


--------------------------------------------------------------------------------
 函式:dbase_close() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_close
關閉 dBase 資料表。

語法: boolean dbase_close(int dbase_identifier);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式用來關閉現有的 dBase 資料表。參數 dbase_identifier 為資料表的 ID 值。

--------------------------------------------------------------------------------
 函式:dbase_pack() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_pack
清理 dBase 資料表。

語法: boolean dbase_pack(int dbase_identifier);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式將清除現有的 dBase 資料表中標記為清除的資料列,意即將 dbase_delete_record() 所標記的資料刪除。參數 dbase_identifier 為資料表的 ID 值。


 
 
參考 


dbase_get_record()  

--------------------------------------------------------------------------------
 函式:dbase_add_record() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_add_record
加入資料到 dBase 資料表。

語法: boolean dbase_add_record(int dbase_identifier, array record);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式將新增資料到 dBase 資料表中。參數 dbase_identifier 為資料表的 ID 值。參數 record 為欲新增的資料陣列,其中的各元素依序對映到資料表的各欄位。


--------------------------------------------------------------------------------
 函式:dbase_delete_record() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_delete_record
刪除 dBase 資料表的資料。

語法: boolean dbase_delete_record(int dbase_identifier, int record);

傳回值: 布林值

函式種類: 資料庫功能


 
 
內容說明 


本函式將刪除 dBase 資料表中的資料,實際上本函式只是將資料加入刪除的標記,需使用 4.9.4 dbase_pack() 將資料真正清除。參數 dbase_identifier 為資料表的 ID 值。參數 record 為欲刪除的資料列列號,列號從 1 開始計算。


 
 
參考 


--------------------------------------------------------------------------------
 函式:dbase_get_record() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_get_record
取得 dBase 資料表的資料。

語法: array dbase_get_record(int dbase_identifier, int record);

傳回值: 陣列

函式種類: 資料庫功能


 
 
內容說明 


本函式將取出 dBase 資料表中的一列資料。參數 dbase_identifier 為資料表的 ID 值。參數 record 為欲讀取的資料列列號,列號從 1 開始計算。傳回值為陣列資料,各欄位 PHP 會自動轉成應有的資料形態,dBase 的 Date 形態將轉成 PHP 的字串形態。


--------------------------------------------------------------------------------
 函式:dbase_numfields() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_numfields
取得 dBase 資料表的欄位數。

語法: int dbase_numfields(int dbase_identifier);

傳回值: 整數

函式種類: 資料庫功能


 
 
內容說明 


本函式將計算出 dBase 資料表的資料欄位數。參數 dbase_identifier 為資料表的 ID 值。欄位數從 0 開始計算,意即 0 表示只有一欄。


 
 
使用范例 


$rec = dbase_get_record($db, $recno);
$nf  = dbase_numfields($db);
for ($i=0; $i < $nf; $i++) {
  echo $rec[$i]."
\n";
}
?> 


--------------------------------------------------------------------------------
 函式:dbase_numrecords() 
--------------------------------------------------------------------------------
 


dBase 格式資料表函式庫


dbase_numrecords
取得 dBase 資料表的列數。

語法: int dbase_numrecords(int dbase_identifier);

傳回值: 整數

函式種類: 資料庫功能


 
 
內容說明 


本函式將計算出 dBase 資料表的資料列數。參數 dbase_identifier 為資料表的 ID 值。資料列數從 1 開始計算。

(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55)
PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16)
PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09)
PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33)
PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13)
PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53)
PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35)
PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08)
PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)

===更多相關===
 

★  樊強制作 歡迎分享  ★