Nota:
Esta extensión se ha movido al repositorio de » PECL y ya no se distribuye con PHP a partir de PHP 5.3.0.
Estas funciones permiten acceder a los registros de las bases de datos en formato dBase (dbf).
Se recomienda no utilizar los ficheros dBase como base de datos de producción. Utilice » SQLite o mejor opte por un verdadero servidor SQL; » MySQL o » PostgreSQL son opciones comunes en PHP. El soporte dBase está presente en PHP únicamente para permitir la importación y exportación de datos desde y hacia su base de datos, ya que este formato de fichero es habitualmente comprendido por los programas de hoja de cálculo de Windows.
A partir de dbase 7.0.0 las bases de datos son automáticamente bloqueadas via flock(). No había soporte para el bloqueo previamente, por lo que dos procesos de servidor web concurrentes modificando el mismo fichero dBase probablemente habrían arruinado su base de datos. Esto puede ocurrir incluso con dbase 7.0.0+ en sistemas que implementan el bloqueo a nivel de proceso con las SAPIs multithreaded.
Los ficheros dBase son simples ficheros secuenciales, con un número de registros fijo. Los registros son añadidos al final del fichero y los registros borrados son conservados hasta que se llame a la función dbase_pack().
Solo se soportan los ficheros dbf niveles 3 (dBASE III+) - 5 (dBASE V). Los tipos de campos dBase disponibles son:
Campo | Tipo dBase | Formato | Información complementaria |
---|---|---|---|
M |
Memo | n/a | Este tipo no es soportado por PHP, y será ignorado |
D |
Date | YYYYMMDD |
El tamaño del campo está limitado a 8 |
T |
DateTime | YYYYMMDDhhmmss.uuu |
(FoxPro) No se realizan verificaciones de validez. Disponible a partir de dbase 7.0.0. |
N |
Number | Un número | Se debe declarar un tamaño y una precisión (el número de dígitos después del punto decimal). |
F |
Float | Un número flotante | Idéntico a N . |
C |
string | Una cadena de caracteres | Se debe declarar un tamaño. Al recuperar los datos, la cadena será completada con espacios para alcanzar el tamaño declarado. Las cadenas demasiado largas serán truncadas silenciosamente al guardar. |
L |
bool |
T o Y para true ,
F o N para false ,
? para no inicializada.
|
A partir de dbase 7.0.0, devuelto como bool (true o false ),
o null para los campos no inicializados
Anteriormente, devuelto como int (1 o 0 ).
|
Nota:
A partir de dbase 7.0.0 los campos nullable son soportados para las bases de datos
DBASE_TYPE_FOXPRO
. Si un campo es nullable, pasarnull
definirá el flag respectivo, y al recuperarlo el valor del campo seránull
.
Nota:
No hay soporte para índices o campos memo.