<?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 => 'es',
  ),
  'this' => 
  array (
    0 => 'phar.copy.php',
    1 => 'Phar::copy',
    2 => 'Copia un fichero perteneciente a un archivo hacia otro fichero del mismo archivo',
  ),
  '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' => 'es',
    '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">Copia un fichero perteneciente a un archivo hacia otro fichero del mismo archivo</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-phar.copy-description">
  <h3 class="title">Descripción</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">Nota</strong>: <p class="para">Este
    método requiere que la variable de configuración INI <code class="literal">phar.readonly</code>
    esté definida a <code class="literal">0</code> para funcionar con los objetos <span class="classname"><a href="class.phar.php" class="classname">Phar</a></span>.
    De lo contrario, se lanzará una excepción <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span>.</p></p></blockquote>

  <p class="para">
   Copia un fichero perteneciente a un archivo hacia un nuevo
   fichero del mismo archivo. Es una alternativa orientada a objetos
   al uso de <span class="function"><a href="function.copy.php" class="function">copy()</a></span> con un flujo phar.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-phar.copy-parameters">
  <h3 class="title">Parámetros</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">Valores devueltos</h3>
  <p class="para">
   Retorna siempre <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">Errores/Excepciones</h3>
  <p class="para">
   Levanta una excepción <span class="classname"><a href="class.unexpectedvalueexception.php" class="classname">UnexpectedValueException</a></span>
   si el fichero origen no existe, si el fichero destino ya existe,
   si el acceso en escritura está desactivado, si abrir uno u otro
   de los ficheros falla, si la lectura del fichero origen falla, o levanta
   una excepción <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span>
   si la escritura de los cambios en el phar falla.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-phar.copy-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>Phar::copy()</strong></span></strong></p>
    <div class="example-contents"><p>
     Este ejemplo muestra cómo utilizar <span class="function"><strong>Phar::copy()</strong></span> y la comparación en términos
     de rendimiento con el equivalente utilizando el flujo phar. La diferencia principal entre
     los dos métodos concierne la gestión de errores. Todos los métodos Phar levantan excepciones,
     mientras que las funciones de flujo utilizan <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">// Muestra "phar://myphar.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">// Maneja los errores<br /></span><span style="color: #007700">}<br /><br /></span><span style="color: #FF8000">// El equivalente en términos de flujo del código anterior<br />// se devuelven E_WARNING en lugar de excepciones<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">// Muestra "salut"<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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


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