-
Notifications
You must be signed in to change notification settings - Fork 164
Expand file tree
/
Copy pathbook.xml
More file actions
171 lines (166 loc) · 5.67 KB
/
book.xml
File metadata and controls
171 lines (166 loc) · 5.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a0ae28d3bc85f927c22649ebd9a590b921534b7d Maintainer: yannick Status: ready -->
<!-- Reviewed: yes Maintainer: yannick -->
<book xml:id="book.dbase" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="pecl" ?>
<title>dBase</title>
<!-- {{{ preface -->
<preface xml:id="intro.dbase">
&reftitle.intro;
<note>
<para>
&pecl.moved-ver;5.3.0.
</para>
</note>
<para>
Ces fonctions permettent d'accéder aux enregistrements des bases
de données au format dBase (dbf).
</para>
<warning>
<para>
Il est recommandé de ne pas utiliser les fichiers dBase
comme la base de données de production. Il est recommandé d'utiliser
<link xlink:href="&url.sqlite;">SQLite</link> ou d'opter plutôt pour un vrai
serveur SQL à la place ;
<link xlink:href="&url.mysql;">MySQL</link> ou
<link xlink:href="&url.pgsql;">PostgreSQL</link>
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.
</para>
</warning>
<caution>
<para>
À partir de dbase 7.0.0 les bases de données sont automatiquement verrouillées
via <function>flock</function>. 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.
</para>
</caution>
<para>
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
<function>dbase_pack</function>.
</para>
<para>
Seuls les fichiers dbf levels 3 (dBASE III+) - 5 (dBASE V) sont supportés.
Les types de champs dBase disponibles sont :
<table>
<title>Types de champs disponibles</title>
<tgroup cols="3">
<thead>
<row>
<entry>Champ</entry>
<entry>Type dBase</entry>
<entry>Format</entry>
<entry>Informations complémentaires</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>M</literal></entry>
<entry>Memo</entry>
<entry>n/a</entry>
<entry>Ce type n'est pas supporté par PHP, et sera ignoré</entry>
</row>
<row>
<entry><literal>D</literal></entry>
<entry>Date</entry>
<entry><literal>YYYYMMDD</literal></entry>
<entry>La taille du champ est limitée à 8</entry>
</row>
<row>
<entry><literal>T</literal></entry>
<entry>DateTime</entry>
<entry><literal>YYYYMMDDhhmmss.uuu</literal></entry>
<entry>(FoxPro) Aucune vérification de validité n'est faite. Disponible à partir de dbase 7.0.0.</entry>
</row>
<row>
<entry><literal>N</literal></entry>
<entry>Number</entry>
<entry>Un nombre</entry>
<entry>
Il faut déclarer une taille et une précision (le nombre de chiffres
après le point décimal).
</entry>
</row>
<row>
<entry><literal>F</literal></entry>
<entry>Float</entry>
<entry>Un nombre flottant</entry>
<entry>Identique à <literal>N</literal>.</entry>
</row>
<row>
<entry><literal>C</literal></entry>
<entry>&string;</entry>
<entry>Une chaîne de caractères</entry>
<entry>
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.
</entry>
</row>
<row>
<entry><literal>L</literal></entry>
<entry>&boolean;</entry>
<entry>
<literal>T</literal> ou <literal>Y</literal> pour &true;,
<literal>F</literal> ou <literal>N</literal> pour &false;,
<literal>?</literal> pour non initialisée.
</entry>
<entry>
À partir de dbase 7.0.0, retourné en tant que <type>bool</type> (&true; ou &false;),
ou &null; pour les champs non initialisés.
Précédemment, retourné en tant que <type>int</type> (<literal>1</literal> ou <literal>0</literal>).
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<note>
<para>
À partir de dbase 7.0.0 les champs nullable sont supportés pour les bases de
données <constant>DBASE_TYPE_FOXPRO</constant>. 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;.
</para>
</note>
<note>
<para>
Il n'y a aucun support des index ou des champs memo.
</para>
</note>
</preface>
<!-- }}} -->
&reference.dbase.setup;
&reference.dbase.constants;
&reference.dbase.reference;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->