<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.phar.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'phar.copy.php',
    1 => 'Phar::copy',
    2 => 'Copie un fichier appartenant &agrave; une archive vers un autre fichier de la m&ecirc;me archive',
  ),
  'up' => 
  array (
    0 => 'class.phar.php',
    1 => 'Phar',
  ),
  'prev' => 
  array (
    0 => 'phar.converttoexecutable.php',
    1 => 'Phar::convertToExecutable',
  ),
  'next' => 
  array (
    0 => 'phar.count.php',
    1 => 'Phar::count',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/phar/Phar/copy.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="phar.copy" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Phar::copy</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8, PECL phar &gt;= 2.0.0)</p><p class="refpurpose"><span class="refname">Phar::copy</span> &mdash; <span class="dc-title">Copie un fichier appartenant à une archive vers un autre fichier de la même archive</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-phar.copy-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>Phar::copy</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$from</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$to</code></span>): <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span></div>

  <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">Cette
    méthode nécessite que la variable de configuration INI <code class="literal">phar.readonly</code>
    soit définie à <code class="literal">0</code> pour fonctionner avec les objets <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span>.
    Sinon, une exception <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span> sera lançée.</p></p></blockquote>

  <p class="para">
   Copie un fichier appartenant à une archive vers un nouveau
   fichier de la même archive. C&#039;est une alternative orientée
   objet à l&#039;utilisation de <span class="function"><a href="function.copy.php" class="function">copy()</a></span> avec un
   flux phar.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-phar.copy-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">from</code></dt>
     <dd>
      <p class="para">
      </p>
     </dd>
    
    
     <dt><code class="parameter">to</code></dt>
     <dd>
      <p class="para">
      </p>
     </dd>
    
   </dl>
  </p>

 </div>

 <div class="refsect1 returnvalues" id="refsect1-phar.copy-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne toujours <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-phar.copy-errors">
  <h3 class="title">Erreurs / Exceptions</h3>
  <p class="para">
   Lève une exception <span class="classname"><a href="class.unexpectedvalueexception.php" class="classname">UnexpectedValueException</a></span> 
   si le fichier source n&#039;existe pas, si le fichier destination existe 
   déjà, si l&#039;accès en écriture est désactivé, si ouvrir l&#039;un ou l&#039;autre
   des fichiers échoue, si la lecture du fichier source échoue, ou lève 
   une exception <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span>
   si l&#039;écriture des changements dans le phar échoue.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-phar.copy-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>Phar::copy()</strong></span></strong></p>
    <div class="example-contents"><p>
     Cet exemple montre comment utiliser <span class="function"><strong>Phar::copy()</strong></span> et la comparaison en terme
     de performance avec l&#039;équivalent utilisant le flux phar. La différence principale entre
     les deux méthodes concerne la gestion des erreurs. Toutes les méthodes Phar lèvent des
     exceptions, là où les fonctions de flux utilisent <span class="function"><a href="function.trigger-error.php" class="function">trigger_error()</a></span>.
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">try {<br />    </span><span style="color: #0000BB">$phar </span><span style="color: #007700">= new </span><span style="color: #0000BB">Phar</span><span style="color: #007700">(</span><span style="color: #DD0000">'monphar.phar'</span><span style="color: #007700">);<br /><br />    </span><span style="color: #0000BB">$phar</span><span style="color: #007700">[</span><span style="color: #DD0000">'a'</span><span style="color: #007700">] = </span><span style="color: #DD0000">'salut'</span><span style="color: #007700">;<br />    </span><span style="color: #0000BB">$phar</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">copy</span><span style="color: #007700">(</span><span style="color: #DD0000">'a'</span><span style="color: #007700">, </span><span style="color: #DD0000">'b'</span><span style="color: #007700">);<br /><br />    echo </span><span style="color: #0000BB">$phar</span><span style="color: #007700">[</span><span style="color: #DD0000">'b'</span><span style="color: #007700">]; </span><span style="color: #FF8000">// Affiche "phar://monphar.phar/b"<br /></span><span style="color: #007700">} catch (</span><span style="color: #0000BB">Exception $e</span><span style="color: #007700">) {<br />    </span><span style="color: #FF8000">// Traite les erreurs<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #FF8000">// l'équivalent en termes de flux du code ci-dessus<br />// des E_WARNING sont retournés plutôt que des exceptions<br /></span><span style="color: #0000BB">copy</span><span style="color: #007700">(</span><span style="color: #DD0000">'phar://monphar.phar/a'</span><span style="color: #007700">, </span><span style="color: #DD0000">'phar//monphar.phar/c'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">file_get_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">'phar://monphar.phar/c'</span><span style="color: #007700">); </span><span style="color: #FF8000">// Affiche "salut"<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
 </div>


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