px_create_fp

(PECL paradox >= 1.0.0)

px_create_fp新しい paradox データベースを作成する

説明

px_create_fp ( resource $pxdoc , resource $file , array $fielddesc ) : bool

新しい paradox データベースファイルを作成します。 実際のファイルは、事前に fopen() でオープンしておく必要があります。 ファイルが書き込み可能であることを確認してください。

注意:

この関数をコールすると「テーブル名が空である」という警告が発生しますが、 これは無視できます。単に、px_set_parameter() を使用して後からテーブル名を設定すればよいのです。

注意:

paradox のファイルフォーマットについての資料が不足しているため、 この関数は、きわめて実験的なものです。 この関数で作成したデータベースファイルは px_open_fp() や Paradox ソフトウェアでオープンできます。 しかしそこから先の道のりは大変でしょう。

パラメータ

pxdoc

px_new() が返す paradox データベースのリソース ID。

file

fopen() が返すファイルハンドル。

fielddesc

fielddesc は、各フィールドの設定を保持する配列です。 それぞれのフィールド設定は、2 つあるいは 3 つの要素を含む配列です。 最初の要素は常に文字列で、フィールドの名前を表します。 10 文字より長くなってはいけません。2 番目の要素にはフィールドの型を指定します。 これは、 フィールド型の定数 の表の中のどれかになります。文字列フィールドや bcd フィールドでは、 3 番目の要素でその要素の精度を指定します。 フィールド定義の中に blob フィールドが含まれている場合は、 確実にすべての値を格納できるだけのフィールドサイズを確保するか、 あるいは blob を保存する際に px_set_blob_file() でファイルを指定しなければなりません。さもないと、 フィールドのデータが切り詰められてしまいます。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 2 つのフィールドを持つ Paradox データベースを作成する

<?php
if(!$pxdoc px_new()) {
  
/* エラー処理 */
}
$fp fopen("test.db""w+");
$fields = array(array("col1""S"), array("col2""I"));
if(!
px_create_fp($pxdoc$fp$fields)) {
  
/* エラー処理 */
}
px_set_parameter($pxdoc"tablename""testtable");
for(
$i=-50$i<50$i++) {
  
$rec = array($i, -$i);
  
px_put_record($pxdoc$rec);
}   
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

参考

  • px_new() - 新しい paradox オブジェクトを作成する
  • px_put_record() - paradox データベースにレコードを保存する
  • fopen() - ファイルまたは URL をオープンする