px_create_fp

(PECL paradox >= 1.0.0)

px_create_fpCrear una nueva base de datos paradox

Descripción

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

Crea un nuevo archivo de base de datos paradox. El archivo actual deberá abrirse antes con la función fopen(). Asegúrese de que el archivo tiene permisos de escritura.

Nota:

Al llamar a estas funciones emite una advertencia acerca de un nombre de tabla vacía que se puede omitir con seguridad. Sólo tiene que configurar el nombre de tabla posteriormente con la función px_set_parameter().

Nota:

Esta función es muy experimental, debido a la insuficiente documentación del formato de archivo paradox. Los archivos de base de datos creados con esta función pueden ser abiertos con la función px_open_fp() y han sido abiertos con éxito por el software de Paradox, pero algunos puntos pueden variar.

Parámetros

pxdoc

Identificador de recursos de la base de datos paradox devueltos por la función px_new().

file

Identificador de archivo devuelto por la función fopen().

fielddesc

La opción fielddesc es una matriz que contiene un elemento por cada campo especificado. Un campo especificado es una matriz propia con dos o tres elementos. El primer elemento es siempre un valor de cadena utilizado como el nombre del campo. Este no puede ser mayor de diez carácteres. El segundo elemento contiene el tipo de campo que es una de las constantes que figuran en la tabla.Las constantes para los tipos de campo. En el caso de un campo de caracteres o campo BCD, tendrá que proporcionar un tercer elemento especificando la longitud respectivamente a la precesión del campo. Si su especificación de campo contiene campos blob, tendrá que asegurarse de hacer el campo lo suficientemente grande para que se adapte a todos los valores de campo o especificar un archivo blob con la función px_set_blob_file() para almacenar los blobs. Si esto no se hace los datos del campo se truncarán.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Ejemplo #1 Creación de una base de datos Paradox con dos campos

<?php
if(!$pxdoc px_new()) {
  
/* Error handling */
}
$fp fopen("test.db""w+");
$fields = array(array("col1""S"), array("col2""I"));
if(!
px_create_fp($pxdoc$fp$fields)) {
  
/* Error handling */
}
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);
?>

Ver también

add a note add a note

User Contributed Notes 1 note

up
0
Natanael Simes
8 years ago
(Using php 5.5)

Values of constant field type appears to be inconsistent. Dumping values will show you integer values, including information retrived by px_get_field for type. Field specification in px_create_fp demands to be a char value, because number will be resolved as unknown types. Here is a list with value for each field type that actually works:

ALPHANUMERIC = A
DATE = D
SHORT INTEGER = D
LONG INTEGER = I
CURRENCY = $
NUMBER = N
DOUBLE = N
LOGICAL = L
BOOLEAN = L
MEMOBLOB = M
BLOG = B
FMTMEMOBLOB = F
OLE = O
GRAPHIC = G
TIME = T
TIMESTAMP = @
AUTOINC = +
BCD = #
BYTES = Y

<?php
$fields
= array();
$id = array('id', '+'); // Field name = id, type = autoinc
$name = array('name', 'A', 80); // Field name = name, type = alpha, length = 80
array_push($fields, $id);
array_push($fields, $name);
if(!
$pxdoc = px_new()) {
 
/* Error handling */
}
$fp = fopen("test.db", "w+");
if(!
px_create_fp($pxdoc, $fp, $fields)) {
 
/* Error handling */
}
px_close($pxdoc);
px_delete($pxdoc);
fclose($fp);
?>

And that should do the job!
To Top