As of PHP 5.2.6, it seems that the type F (Float) is supported ( ext/dbase/dbase.c +713 ), with a length of 20 characters.
http://www.dbase.com/KnowledgeBase/int/db7_file_fmt.htm precises : Number stored as a string, right justified, and padded with blanks to the width of the field
dbase_get_header_info
(PHP 5)
dbase_get_header_info — Récupère des informations d'en-tête d'une base de données dBase
Description
dbase_get_header_info() retourne des informations sur la structure des colonnes de la base de données référencée par dbase_identifier .
Liste de paramètres
- dbase_identifier
-
L'identifiant du lien à la base de données, retourné par dbase_open() ou dbase_create().
Valeurs de retour
Un tableau indexé avec une entrée pour chaque colonne de la base de données. Le tableau indexé commence à 0.
Chaque élément du tableau contient un tableau associatif contenant les informations sur les colonnes, comme décrit ici :
- name
- Le nom de la colonne
- type
- Le nom lisible du type de la colonne (i.e. date, boolean, etc.)
- length
- Le nombre d'octets que cette colonne peut contenir
- precision
- Le nombre de décimales pour la colonne
- format
- Un format printf() suggéré pour la colonne
- offset
- La position de la colonne depuis la début de la ligne
Si les informations d'en-têtes de la base de données ne peuvent pas être lues, FALSE est retourné.
Exemples
Exemple #1 Affiche les informations d'en-têtes pour un fichier de base de données dBase
<?php
// Chemin vers le fichier dBase
$db_path = "/tmp/test.dbf";
// Ouvre le fichier dBase
$dbh = dbase_open($db_path, 0)
or die("Erreur ! Impossible d'ouvrir le fichier dBase '$db_path'.");
// Récupération des informations des colonnes
$column_info = dbase_get_header_info($dbh);
// Affichage des informations
print_r($column_info);
?>
dbase_get_header_info
24-Jul-2008 02:04
12-Sep-2006 12:58
Field Types
*********
Not all field types of DBase are supported. Look below for the internal field type definitions of PHP 5.1.x.
The storage symbols of DBase are C (stands for character), D (date) , I (integer), N (number), L (boolean), M (memo). All other symbols like B, @, l, +, F, O and G are defined as unknown.
Sources
*********
http://www.dbase.com/KnowledgeBase/int/db7_file_fmt.htm
PHP-Source-5.1.6 ext/dbase/dbase.c (line 786)
