Archivos DBM

El formato DBM de archivos permite implementar una pseudo base de datos usando archivos planos, el formato que es standard tiene la ventaja de que los archivos DBM creados pueden ser fácilmente compartidos por otras aplicaciones que soporten el formato DBM (por ejemplo “C”, “Perl”,”Python” y otros lenguajes tienen bibliotecas para manipular DBMs).

Las funciones de PHP para manejo de archivos DBM son:

dbm_handler=dbmopen(path,modo);

Abre un archivo dbm cuyo path recibe como parámetro, devuelve un handler al archivo (a ser usado por las demás funciones de dbm).

Modo puede ser:

· “r” – Lectura solamente
· “w” – Lectura – escritura
· “n” – Lectura escritura, si existe el archivo lo trunca, si no existe lo crea
· “c” – Lectura escritura, si existe lo usa, si no existe lo crea

boolean=dbmexists(dbm_handler, clave);

Devuelve true/false según una clave exista o no en un archivo dbm.

boolean=dbminsert(dbm_handler,clave,valor);

Devuelve 0 si el insert fue exitoso (false!), 1 si la clave ya existía y –1 si no se puede escribir en el archivo.

string=dbmfetch(dbm_handler, clave);

Devuelve el valor asociado con la clave pasada, es conveniente antes usar dbmexists para chequear que la clave exista en el archivo dbm.

dbmreplace(dbm_handler, clave, valor);

Si la clave ya existe reemplaza su valor en el archivo dbm por el valor pasado, si la clave no existe la crea con el valor pasado. (Funciona como un insert que no da error si la clave ya existe)

boolean=dbmdelete(dbm_handler, clave);

Elimina un registro “clave”-“valor” de un archivo dbm. Devuelve falso si la clave no existía en el archivo DBM.

string=dbmfirstkey(dbm_handler);

Devuelve la primera clave de un archivo dbm.

string=dbmnextkey(dbm_handler);

Devuelve la próxima clave de un archivo dbm, en conjunto con dbmfirstkey puede usarse para recorrer todos los registros de un archivo dbm. Devuelve falso cuando no quedan más registros en el archivo.

Fuente: Documento Generación de web sites dinámicos usando PHP