php5.6 dbase,dBase数据库

2022-03-23 00:00:00 数据库 专区 订阅 付费 引擎

dBase数据库是在个人电脑上使用的单机版数据库系统,dBase的系统包括核心数据库引擎、查询系统、表单引擎、与一个脚本编程语言。Unfortunately the dbase functions are not compiled into my commercial server's php and I needed to read some geo data in shape files, which include data in dbfs.

So maybe this will help some others:

function echo_dbf($dbfname) {

$fdbf = fopen($dbfname,'r');

$fields = array();

$buf = fread($fdbf,32);

$header=unpack( "VRecordCount/vFirstRecord/vRecordLength", substr($buf,4,8));

echo 'Header: '.json_encode($header).'

';

$goon = true;

$unpackString='';

while ($goon && !feof($fdbf)) { // read fields:

$buf = fread($fdbf,32);

if (substr($buf,0,1)==chr(13)) {$goon=false;} // end of field list

else {

$field=unpack( "a11fieldname/A1fieldtype/Voffset/Cfieldlen/Cfielddec", substr($buf,0,18));

echo 'Field: '.json_encode($field).'

';

$unpackString.="A$field[fieldlen]$field[fieldname]/";

array_push($fields, $field);}}

fseek($fdbf, $header['FirstRecord']+1); // move back to the start of the first record (after the field definitions)

for ($i=1; $i

相关文章