dBase

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

Il est recommandé de ne pas utiliser les fichiers dBase comme la base de données de production. Il est recommandé d'utiliser » SQLite ou d'opter plutôt pour un vrai serveur SQL à la place ; » MySQL ou » PostgreSQL sont des choix communs en PHP. Le support dBase est présent en PHP uniquement pour permettre d'importer et d'exporter des données depuis et vers la 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 verrouillées via flock(). Il n'y avait aucun support pour le verrouillage précédemment, donc deux processus de serveur web concomitants modifiant le même fichier dBase auraient très probablement ruiné la base de données. Ceci peut se produire même avec dbase 7.0.0+ sur les systèmes qui implémentent le verrouillage au niveau du processus avec les SAPI multithreadés.

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 l'on n'appelle pas la fonction dbase_pack().

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

Types de champs disponibles
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é n'est faite. Disponible à partir de dbase 7.0.0.
N Number Un nombre Il faut 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 Il faut déclarer une taille. Lors de la récupération des données, la chaîne sera complétée d'espaces afin d'atteindre la taille déclarée. Les chaîne de caractères trop longues 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és. Précédemment, retourné en tant que int (1 ou 0).

Note:

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

Note:

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