PHP: dBase 関数 - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<timedbase_add_record>
view the version of this page
Last updated: Tue, 21 Dec 2004

XX. dBase 関数

導入

これらの関数は、dBase 形式(dbf)のデータベースに保存されたレコード にアクセスすることを可能にします。

これらの関数では、インデックスおよびメモフィールドのサポートは行わ れません。ロックのサポートも行われません。二つの Web サーバープロ セスが同時に同じ dBase ファイルを修正しようとした場合、データベー スはほぼ確実に駄目になってしまうでしょう。

dBaseファイルは、固定長の単純なシーケンシャルファイルです。レコー ドは、ファイルの終りに追加され、削除されたレコードは dbase_pack()がコールされるまで保持されます。

商用データベースとして dBase ファイルを使用するべきではありません。 本物の SQL サーバーを替わりに選んで下さい。通常、MySQL または Postgresが PHP で使用されています。dBase ファイルフォーマットは Windows の表計算ソフトや統合ソフトで通常サポートされているので、 dBase サポートにより Web データベースとのデータのインポート/エクス ポートが可能となります。

インストール手順

付属するdbaseライブラリを有効にし、これらの関数を使用するには、 --enable-dbase オプションを指定し てPHPをコンパイルする必要があります。

実行用の設定

この拡張モジュールは設定ディレクティブを全く定義しません。

リソース型

この拡張モジュールはリソース型を全く定義しません。

定義済みの定数

この拡張モジュールは定数を全く定義しません。

目次
dbase_add_record -- dBase データベースにレコードを追加する
dbase_close -- dBase データベースを閉じる
dbase_create -- dBase データベースを作成する
dbase_delete_record -- dBase データベースからレコードを削除する
dbase_get_header_info -- Get the header info of a dBase database
dbase_get_record_with_names --  dBaseデータベースからレコードを連想配列として得る
dbase_get_record -- dBase データベースからレコードを得る
dbase_numfields --  dBase データベースにおけるフィールド数を返す
dbase_numrecords --  dBase データベースにおけるレコード数を返す
dbase_open -- dBase データベースをオープンする
dbase_pack -- dBase データベースをパックする
dbase_replace_record -- dBase データベースのレコードを置換する


add a note add a note User Contributed Notes
dBase 関数
Hadi Rusiah / deegos at yahoo dot com
08-May-2004 05:33
If you are using PHP < 5, you can use this function to retrieve dbf header

<?
function get_dbf_header($dbfname) {
  
$fdbf = fopen($dbfname,'r');

  
$dbfhdrarr = array();
  
$buff32 = array();
  
$i = 1;
  
$goon = true;

   while (
$goon) {
     if (!
feof($fdbf)) {
        
$buff32 = fread($fdbf,32);
         if (
$i > 1) {
           if (
substr($buff32,0,1) == chr(13)) {
              
$goon = false;
           } else {
              
$pos = strpos(substr($buff32,0,10),chr(0));
              
$pos = ($pos == 0?10:$pos);

              
$fieldname = substr($buff32,0,$pos);
              
$fieldtype = substr($buff32,11,1);
              
$fieldlen = ord(substr($buff32,16,1));
              
$fielddec = ord(substr($buff32,17,1));

array_push($dbfhdrarr, array($fieldname,$fieldtype,$fieldlen,$fielddec));

           }
         }
        
$i++;
     } else {
        
$goon = false;
     }
   }

  
fclose($fdbf);
   return(
$dbfhdrarr);
}

$arr = get_dbf_header('/data/file.dbf');
print_r($arr);
?>

<timedbase_add_record>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page