CIII. Paradox File Access

简介

警告

本扩展模块是 实验性 的。本模块的行为,包括其函数的名称以及其它任何关于此模块的文档可能会在没有通知的情况下随 PHP 以后的发布而改变。使用本扩展模块风险自担。

This module allows to read Paradox database and primary index files. It has initial support for creating Paradox databases. Consider it to be experimental due to lack of documentation of the Paradox file format.

注: This module has not been tested on other platforms than Debian/GNU Linux for PPC.

注: This module is also in development and may change, though I don't expect major changes to the API.

需求

You need at least PHP 5.0.0 and libpx >= 0.1.9. The paradox library (libpx) is available at http://pxlib.sourceforge.net .

安装

A short installation note: just type
$ pear install paradox
in your console.

运行时配置

本扩展模块在 php.ini 中未定义任何配置选项。

Object oriented API

The paradox extension provides also an object oriented API. It consists of only one class called paradox_doc. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.

表格 1. Methods of class paradox_doc

Name of method Equivalent function
Constructor px_new()
Destructor px_delete()
open_fp() px_open_fp()
create_fp() px_create_fp()
close() px_close()
numrecords() px_numrecords()
numfields() px_numfields()
get_record() px_get_record()
put_record() px_put_record()
get_field() px_get_field()
get_schema() px_get_schema()
get_info() px_get_info()
set_parameter() px_set_parameter()
get_parameter() px_get_parameter()
set_value() px_set_value()
get_value() px_get_value()
get_info() px_get_info()
set_targetencoding() px_set_targetencoding()
set_tablename() px_set_tablename()
set_blob_file() px_set_blob_file()
timestamp2string() px_timestamp2string()

预定义常量

以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。

The following two tables lists all constants defined by the paradox extension.

表格 2. Contants for field types

Name Meaning
PX_FIELD_ALPHA Character data with fixed length
PX_FIELD_DATE Date
PX_FIELD_SHORT Short integer (2 Bytes)
PX_FIELD_LONG Long integer (4 Bytes)
PX_FIELD_CURRENCY same as PX_FIELD_NUMBER
PX_FIELD_NUMBER Double
PX_FIELD_LOGICAL Boolean
PX_FIELD_MEMOBLOB Binary large object (not supported)
PX_FIELD_BLOB Binary large object (not supported)
PX_FIELD_FMTMEMOBLOB Binary large object (not supported)
PX_FIELD_OLE OLE object (basically a blob, not supported)
PX_FIELD_GRAPHIC Graphic (basically a blob, not supported)
PX_FIELD_TIME time
PX_FIELD_TIMESTAMP timestamp (like the unix timestamp)
PX_FIELD_AUTOINC Auto incrementing interger (like PX_FIELD_LONG)
PX_FIELD_BCD Decimal number stored in bcd format (not supported)
PX_FIELD_BYTES Array of Bytes with not more than 255 bytes (not supported)
PX_KEYTOLOWER  
PX_KEYTOUPPER  

表格 3. Contants for file types

Name Meaning
PX_FILE_INDEX_DB Indexed database
PX_FILE_PRIM_INDEX Primary index
PX_FILE_NON_INDEX_DB None indexed database
PX_FILE_NON_INC_SEC_INDEX None incremental secondary index (not supported)
PX_FILE_SEC_INDEX Secondary index (not supported)
PX_FILE_INC_SEC_INDEX Incremental secondary index (not supported)
PX_FILE_NON_INC_SEC_INDEX_G (not supported)
PX_FILE_SEC_INDEX_G (not supported)
PX_FILE_INC_SEC_INDEX_G (not supported)

目录
px_close  -- Closes a paradox database
px_create_fp  -- Create a new paradox database
px_delete  -- Deletes resource of paradox database
px_get_field  -- Returns the specification of a single field
px_get_info  -- Return lots of information about a paradox file
px_get_parameter  -- Gets a parameter
px_get_record  -- Returns record of paradox database
px_get_schema  -- Returns the database schema
px_get_value  -- Gets a value
px_new  -- Create a new paradox object
px_numfields  -- Returns number of fields in a database
px_numrecords  -- Returns number of records in a database
px_open_fp  -- Open paradox database
px_put_record  -- Stores record into paradox database
px_set_blob_file  -- Sets the file where blobs are read from
px_set_parameter  -- Sets a parameter
px_set_tablename  -- Sets the name of a table (deprecated)
px_set_targetencoding  -- Sets the encoding for character fields (deprecated)
px_set_value  -- Sets a value
px_timestamp2string  --  Converts the timestamp into a string.