PHP y los archivos dBase (dbf)

0

Hasta ahora nunca había tenido la necesidad de acceder a ficheros de extensión .dbf, y aunque sea bastante viejo (sin ofender), algunas aplicaciones (hechas con Visual FoxPro por ejemplo) hacen uso de ésta tecnología. Esta extensión pertenece a archivos de base de datos y uno sólo de ellos viene siendo una tabla, por así decirlo.

Desde PHP podemos acceder a los ficheros de formato dBase(dbf), para conseguirlo, necesitamos habilitar la librería.

nota
A partir de PHP 5.3.0. php_dbase ha sido movido al repositorio de PECL de php.net, por lo que su instalación debe hacerse manualmente.

Los ejemplos de éste artículo, corren sobre PHP 5.4.22 (Windows7)

Instalación y Configuración:
Debemos ir al archivo de configuración de PHP (php.ini) y habilitar la extención de dBase:
En Windows (c://xampp/php/php.ini en caso de que uses Xampp), buscamos y descomentamos la siguiente línea:
// cambiar de ...
;extension=php_dbase.dll

// ... a (sólo retirar el punto y coma)
extension=php_dbase.dll

//en ubuntu prueba extension=dbase.so ..

y reiniciamos el servidor.. luego ya podemos empezar a trabajar.

- Si no se encuentra la librería instalada (en el directorio ../php/ext), entonces tocará ,buscarla, descargarla e instalarla.

Archivophp_dbase.dll
DescripcióndBase
Tamaño28kb aprox.
Oficialpecl.php.net/package/dbase
Mirrorphp_dbase_v5.4.1.zip

- Descargamos la DLL, descomprimimos y la movemos al directorio de librerías de PHP, en este caso c://xampp/php/ext
- Luego reiniciamos el servidor..


Trabajando con los .DBF

La librería dBase tiene varias funciones para trabajar. Veamos un ejemplo:
<?php
$fichero_dbf = 'mi_dbf.dbf';
$conex       = dbase_open($fichero_dbf, 0);
if($conex){
    $arrData = array();
    $total_registros = dbase_numrecords($conex);
    for ($i = 1; $i <= $total_registros; $i++){
        $arrData[] = dbase_get_record($conex,$i);
    }
    echo '<pre>',print_r($arrData),'</pre>';
}else{
    echo 'No se pudo acceder al fichero dbf';
}
?>


Fuentes:
http://hrazdil.info/blog/414-php-dbase-extension-for-php-5-4-windows-nts-ts-vc9