dBase
&reftitle.intro;
&pecl.moved-ver;5.3.0.
Ces fonctions permettent d'accéder aux enregistrements des bases
de données au format dBase (dbf).
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.
À 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 disponiblesChampType dBaseFormatInformations complémentairesMMemon/aCe type n'est pas supporté par PHP, et sera ignoréDDateYYYYMMDDLa taille du champ est limitée à 8TDateTimeYYYYMMDDhhmmss.uuu(FoxPro) Aucune vérification de validité n'est faite. Disponible à partir de dbase 7.0.0.NNumberUn nombre
Il faut déclarer une taille et une précision (le nombre de chiffres
après le point décimal).
FFloatUn nombre flottantIdentique à N.C&string;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 &string; trop longues seront tronquées silencieusement
lors de l'enregistrement.
L&boolean;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).
À 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;.
Il n'y a aucun support des index ou des champs memo.
&reference.dbase.setup;
&reference.dbase.constants;
&reference.dbase.reference;