<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/phar.fileformat.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'phar.fileformat.phar.php',
    1 => 'Le format de fichier Phar',
    2 => 'Le format de fichier Phar',
  ),
  'up' => 
  array (
    0 => 'phar.fileformat.php',
    1 => 'Qu\'est-ce qui fait d\'un phar un phar et pas un tar ou un zip ?',
  ),
  'prev' => 
  array (
    0 => 'phar.fileformat.zip.php',
    1 => 'Les phars bas&eacute;s sur Zip',
  ),
  'next' => 
  array (
    0 => 'phar.fileformat.flags.php',
    1 => 'Drapeaux &quot;bitmapp&eacute;s&quot; globaux du Phar',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/phar/fileformat.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="phar.fileformat.phar" class="section">
  <h2 class="title">Le format de fichier Phar</h2>
  <p class="para">
   Le format de fichier phar est composé de conteneur/manifeste/contenu/signature, et stocke
   les informations cruciales de ce qui est contenu dans l&#039;archive phar dans son
   <code class="literal">manifeste</code>.
  </p>
  <p class="para">
   Le manifeste Phar est un format hautement optimisé qui permet la spécification fichier par fichier
   de la compression, des permissions et même des métadonnées utilisateur tels que l&#039;utilisateur ou le
   groupe propriétaire. Toutes les valeurs de plus d&#039;un octet sont stockées sous forme petit-boutiste,
   A l&#039;exception de la version de l&#039;API qui est stockée pour des raisons historiques en 3 morceaux
   grand-boutistes.
  </p>
  <p class="para">
   Tous les drapeaux non utilisés sont réservés pour un usage futur et ne doivent pas être utilisés
   pour stocker des informations personnalisées. Utiliser les métadonnées par fichier pour stocker
   des métadonnées personnalisées sur des fichiers particuliers.
  </p>
  <p class="para">
   Le format de fichier basique du manifeste d&#039;une archive Phar est le suivant :
  </p>
  <p class="para">
   <table class="doctable table">
    <caption><strong>Format global du manifeste Phar</strong></caption>
    
     <thead>
      <tr>
       <th>Taille en octets</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>4 octets</td>
       <td>Longueur du manifeste en octets (limitée à 1 Mo)</td>
      </tr>

      <tr>
       <td>4 octets</td>
       <td>Nombre de fichiers dans le Phar</td>
      </tr>

      <tr>
       <td>2 octets</td>
       <td>Version de l&#039;API du manifeste Phar (à ce jour 1.0.0)</td>
      </tr>

      <tr>
       <td>4 octets</td>
       <td>Drapeaux &quot;bitmappés&quot; globaux du Phar</td>
      </tr>

      <tr>
       <td>4 octets</td>
       <td>Longueur de l&#039;alias Phar</td>
      </tr>

      <tr>
       <td>??</td>
       <td>L&#039;alias Phar (longueur basée sur la valeur précédente)</td>
      </tr>

      <tr>
       <td>4 octets</td>
       <td>Longueur des métadonnées Phar (<code class="literal">0</code> si aucune)</td>
      </tr>

      <tr>
       <td>??</td>
       <td>métadonnées Phar sérialisées, stockées dans un format <span class="function"><a href="function.serialize.php" class="function">serialize()</a></span></td>
      </tr>

      <tr>
       <td>au moins 24 * nombre d&#039;octets des entrées</td>
       <td>Entrées pour chaque fichier</td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div><?php manual_footer($setup); ?>