<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.database.vendors.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'book.dbase.php',
    1 => 'dBase',
    2 => 'dBase',
  ),
  'up' => 
  array (
    0 => 'refs.database.vendors.php',
    1 => 'Extensions sp&eacute;cifiques des fabricants de bases de donn&eacute;es',
  ),
  'prev' => 
  array (
    0 => 'function.cubrid-send-glo.php',
    1 => 'cubrid_send_glo',
  ),
  'next' => 
  array (
    0 => 'dbase.setup.php',
    1 => 'Installation/Configuration',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/dbase/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.dbase.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.dbase" class="book">
 
 <h1 class="title">dBase</h1>

 
 <div id="intro.dbase" class="preface">
  <h1 class="title">Introduction</h1>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Cette extension a été déplacée dans le module <a href="https://pecl.php.net/" class="link external">&raquo;&nbsp;PECL</a> et ne sera plus intégrée dans PHP à partir de PHP 5.3.0.
   </p>
  </p></blockquote>
  <p class="para">
   Ces fonctions permettent d&#039;accéder aux enregistrements des bases
   de données au format dBase (dbf).
  </p>
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="para">
    Il est recommandé de ne pas utiliser les fichiers dBase
    comme la base de données de production. Il est recommandé d&#039;utiliser
    <a href="http://sqlite.org/" class="link external">&raquo;&nbsp;SQLite</a> ou d&#039;opter plutôt pour un vrai
    serveur SQL à la place ; 
    <a href="http://www.mysql.com/" class="link external">&raquo;&nbsp;MySQL</a> ou 
    <a href="http://www.postgresql.org/" class="link external">&raquo;&nbsp;PostgreSQL</a>
    sont des choix communs en PHP. Le support dBase est présent en PHP
    uniquement pour permettre d&#039;importer et d&#039;exporter des données
    depuis et vers la base de données, car ce format de fichier
    est habituellement compris par les tableurs Windows.
   </p>
  </div>
  <div class="caution"><strong class="caution">Attention</strong>
   <p class="para">
    À partir de dbase 7.0.0 les bases de données sont automatiquement verrouillées
    via <span class="function"><a href="function.flock.php" class="function">flock()</a></span>. Il n&#039;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.
   </p>
  </div>
  <p class="para">
   Les fichiers dBase sont de simples fichiers séquentiels, d&#039;un
   nombre d&#039;enregistrements fixe. Les enregistrements sont ajoutés
   à la fin du fichier et les enregistrements effacés sont
   conservés tant que l&#039;on n&#039;appelle pas la fonction
   <span class="function"><a href="function.dbase-pack.php" class="function">dbase_pack()</a></span>.
  </p>
  <p class="para">
   Seuls les fichiers dbf levels 3 (dBASE III+) - 5 (dBASE V) sont supportés.
   Les types de champs dBase disponibles sont :
   <table class="doctable table">
    <caption><strong>Types de champs disponibles</strong></caption>
    
     <thead>
      <tr>
       <th>Champ</th>
       <th>Type dBase</th>
       <th>Format</th>
       <th>Informations complémentaires</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><code class="literal">M</code></td>
       <td>Memo</td>
       <td>n/a</td>
       <td>Ce type n&#039;est pas supporté par PHP, et sera ignoré</td>
      </tr>

      <tr>
       <td><code class="literal">D</code></td>
       <td>Date</td>
       <td><code class="literal">YYYYMMDD</code></td>
       <td>La taille du champ est limitée à 8</td>
      </tr>

      <tr>
       <td><code class="literal">T</code></td>
       <td>DateTime</td>
       <td><code class="literal">YYYYMMDDhhmmss.uuu</code></td>
       <td>(FoxPro) Aucune vérification de validité n&#039;est faite. Disponible à partir de dbase 7.0.0.</td>
      </tr>

      <tr>
       <td><code class="literal">N</code></td>
       <td>Number</td>
       <td>Un nombre</td>
       <td>
        Il faut déclarer une taille et une précision (le nombre de chiffres
        après le point décimal).
       </td>
      </tr>

      <tr>
       <td><code class="literal">F</code></td>
       <td>Float</td>
       <td>Un nombre flottant</td>
       <td>Identique à <code class="literal">N</code>.</td>
      </tr>

      <tr>
       <td><code class="literal">C</code></td>
       <td><a href="language.types.string.php" class="link">chaîne de caractères</a></td>
       <td>Une chaîne de caractères</td>
       <td>
        Il faut déclarer une taille. Lors de la récupération des
        données, la chaîne sera complétée d&#039;espaces afin d&#039;atteindre la
        taille déclarée. Les <a href="language.types.string.php" class="link">chaîne de caractères</a> trop longues seront tronquées silencieusement
        lors de l&#039;enregistrement.
       </td>
      </tr>

      <tr>
       <td><code class="literal">L</code></td>
       <td><a href="language.types.boolean.php" class="link">booléen</a></td>
       <td>
        <code class="literal">T</code> ou <code class="literal">Y</code> pour <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>,
        <code class="literal">F</code> ou <code class="literal">N</code> pour <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>,
        <code class="literal">?</code> pour non initialisée.
       </td>
       <td>
        À partir de dbase 7.0.0, retourné en tant que <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> (<strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> ou <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>),
        ou <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> pour les champs non initialisés.
        Précédemment, retourné en tant que <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> (<code class="literal">1</code> ou <code class="literal">0</code>).
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    À partir de dbase 7.0.0 les champs nullable sont supportés pour les bases de
    données <strong><code><a href="dbase.constants.php#constant.dbase-type-foxpro">DBASE_TYPE_FOXPRO</a></code></strong>. Si un champ est nullable,
    passer <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> définira le drapeau respectif, et lors d&#039;une récupération ultérieure
    la valeur du champ sera <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>.
   </p>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Il n&#039;y a aucun support des index ou des champs memo.
   </p>
  </p></blockquote>
 </div>
 

 









 









 









<ul class="chunklist chunklist_book"><li><a href="dbase.setup.php">Installation/Configuration</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="dbase.installation.php">Installation</a></li><li><a href="dbase.resources.php">Types de ressources</a></li></ul></li><li><a href="dbase.constants.php">Constantes pr&eacute;-d&eacute;finies</a></li><li><a href="ref.dbase.php">Fonctions dBase</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.dbase-add-record.php">dbase_add_record</a> — Ajoute un enregistrement dans une base de donn&eacute;es dBase</li><li><a href="function.dbase-close.php">dbase_close</a> — Ferme une base dBase</li><li><a href="function.dbase-create.php">dbase_create</a> — Cr&eacute;e une base de donn&eacute;es dBase</li><li><a href="function.dbase-delete-record.php">dbase_delete_record</a> — Efface un enregistrement dans une base dBase</li><li><a href="function.dbase-get-header-info.php">dbase_get_header_info</a> — R&eacute;cup&egrave;re des informations d'en-t&ecirc;te d'une base de donn&eacute;es dBase</li><li><a href="function.dbase-get-record.php">dbase_get_record</a> — Lit un enregistrement dans une base dBase</li><li><a href="function.dbase-get-record-with-names.php">dbase_get_record_with_names</a> — Lit un enregistrement dans une base dBase, sous la forme d'un tableau associatif</li><li><a href="function.dbase-numfields.php">dbase_numfields</a> — Compte le nombre de champs d'une base dBase</li><li><a href="function.dbase-numrecords.php">dbase_numrecords</a> — Compte le nombre d'enregistrements dans une base dBase</li><li><a href="function.dbase-open.php">dbase_open</a> — Ouvre une base dBase</li><li><a href="function.dbase-pack.php">dbase_pack</a> — Compacte une base dBase</li><li><a href="function.dbase-replace-record.php">dbase_replace_record</a> — Remplace un enregistrement dans une base dBase</li></ul></li></ul></div><?php manual_footer($setup); ?>