# Introduction

> Note:

> Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 5.3.0.

Ces fonctions permettent d'accéder aux enregistrements des bases de données au format dBase (dbf).

Avertissement

Nous vous recommandons de ne pas utiliser les fichiers dBase comme votre base de données de production. Utilisez » SQLite ou optez plutôt pour un vrai serveur SQL à la place ; » MySQL ou » PostgreSQL sont des choix commun en PHP. Le support dBase est présent en PHP uniquement pour vous permettre d'importer et d'exporter des données depuis et vers votre base de données, car ce format de fichier est habituellement compris par les tableurs Windows.

Attention

À partir de dbase 7.0.0 les bases de données sont automatiquement vérouillées via flock(). Il n'y avait aucun support pour le vérouillage précedement, donc deux processus de serveur web concomitant modifiant le même fichier dBase aurait très probablement ruinné votre base de donnée. Ceci peut se produire même avec dbase 7.0.0+ sur les systèmes qui implémente le vérouillage au niveau du processus avec les SAPIs multithreaded.

Les fichiers dBase sont de simples fichiers séquentiels, d'un nombre d'enregistrements fixe. Les enregistrements sont ajoutés à la fin du fichier et les enregistrements effacés sont conservés tant que vous n'appelez pas la fonction dbase_pack().

Seul les fichier dbf levels 3 (dBASE III+) - 5 (dBASE V) sont supportés. Les types de champs dBase disponibles sont :

Type de champs disponible
Champ | Type dBase | Format | Informations complémentaires
--- | --- | --- | ---
`M` | Memo | n/a | Ce type n'est pas supporté par PHP, et sera ignoré
`D` | Date | `YYYYMMDD` | La taille du champ est limitée à 8
`T` | DateTime | `YYYYMMDDhhmmss.uuu` | (FoxPro) Aucune vérification de validité sont faite. Disponible à partir de dbase 7.0.0.
`N` | Number | Un nombre | Vous devez déclarer une taille et une précision (le nombre de chiffres après le point décimal).
`F` | Float | Un nombre flottant | Identique à `N`.
`C` | chaîne de caractères | Une chaîne de caractères | Vous devez déclarer une taille. Lors de la récupération des données, la chaîne sera complétée d'espace afin d'atteindre la taille déclarée. Les chaîne de caractères trop longue seront tronquées silencieusement lors de l'enregistrement.
`L` | booléen | `T` ou `Y` pour `true`, `F` ou `N` pour `false`, `?` pour non initialisée. | À partir de dbase 7.0.0, retourné en tant que bool (`true` ou `false`), ou `null` pour les champs non initialisées Précédement, retourneé en tant que int (`1` ou `0`).

> Note:

> À partir de dbase 7.0.0 les champs nullable sont supporté pour les bases de données `DBASE_TYPE_FOXPRO`. Si un champ est nullable, passé `null` définira le drapeau respectif, et lors d'une récupération ultérieur la valeur du champ sera `null`.

> Note:

> Il n'y a pas aucun support des index ou des champs memo.