叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(九) dBase 格式资料表函式库

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (966)

--------------------------------------------------------------------------------
 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 开始计算。

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]