<?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.mount.php',
    1 => 'Phar::mount',
    2 => 'Monta un camino o un fichero externo a una ubicaci&oacute;n virtual dentro del archivo phar',
  ),
  'up' => 
  array (
    0 => 'class.phar.php',
    1 => 'Phar',
  ),
  'prev' => 
  array (
    0 => 'phar.mapphar.php',
    1 => 'Phar::mapPhar',
  ),
  'next' => 
  array (
    0 => 'phar.mungserver.php',
    1 => 'Phar::mungServer',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/phar/Phar/mount.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="phar.mount" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Phar::mount</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::mount</span> &mdash; <span class="dc-title">Monta un camino o un fichero externo a una ubicación virtual dentro del archivo phar</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-phar.mount-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">final</span> <span class="modifier">public</span> <span class="modifier">static</span> <span class="methodname"><strong>Phar::mount</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$pharPath</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$externalPath</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <p class="para rdfs-comment">
   Al igual que el concepto unix de montar un dispositivo externo en un punto de la jerarquía,
   <span class="function"><strong>Phar::mount()</strong></span> permite referirse a ficheros y directorios externos
   como si estuvieran dentro del archivo.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-phar.mount-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">pharPath</code></dt>
     <dd>
      <p class="para">
       El camino interno dentro del archivo phar a utilizar
       como punto de montaje. Debe ser un camino relativo
       dentro del archivo phar, y no debe existir ya.
      </p>
     </dd>
    
    
     <dt><code class="parameter">externalPath</code></dt>
     <dd>
      <p class="para">
       Un camino o URL hacia un fichero o directorio externo a montar dentro del archivo
      </p>
     </dd>
    
   </dl>
  </p>

 </div>

 <div class="refsect1 returnvalues" id="refsect1-phar.mount-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   No devuelve valor. Se lanza una excepción <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span> en caso de fallo.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-phar.mount-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <p class="para">
   Se lanza una excepción <span class="classname"><a href="class.pharexception.php" class="classname">PharException</a></span> si se encuentra un problema durante el montaje.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-phar.mount-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Un ejemplo con <span class="function"><strong>Phar::mount()</strong></span></strong></p>
    <div class="example-contents"><p>
     El siguiente ejemplo muestra el acceso a un fichero de configuración externo como si fuera
     un camino dentro del archivo phar.
    </p></div>
    <div class="example-contents"><p>
     Primero, el código dentro del archivo phar:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$configuration </span><span style="color: #007700">= </span><span style="color: #0000BB">simplexml_load_string</span><span style="color: #007700">(</span><span style="color: #0000BB">file_get_contents</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">running</span><span style="color: #007700">(</span><span style="color: #0000BB">false</span><span style="color: #007700">) . </span><span style="color: #DD0000">'/config.xml'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
     Luego el código externo utilizado para montar el fichero de configuración:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// se comienza configurando la asociación entre el fichero config.xml abstracto<br />// y el que está en el disco<br /></span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">mount</span><span style="color: #007700">(</span><span style="color: #DD0000">'phar://config.xml'</span><span style="color: #007700">, </span><span style="color: #DD0000">'/home/example/config.xml'</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// ahora se lanza la aplicación<br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'/ruta/al/archivo.phar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
     Otro método es colocar el código de montaje dentro del contenedor de carga del archivo phar.
     Aquí hay un ejemplo para configurar un fichero de configuración por defecto si no se hace ninguna configuración de usuario:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// se comienza configurando la asociación entre el fichero config.xml abstracto<br />// y el que está en el disco<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'EXTERNAL_CONFIG'</span><span style="color: #007700">)) {<br />    </span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">mount</span><span style="color: #007700">(</span><span style="color: #DD0000">'config.xml'</span><span style="color: #007700">, </span><span style="color: #0000BB">EXTERNAL_CONFIG</span><span style="color: #007700">);<br />    if (</span><span style="color: #0000BB">file_exists</span><span style="color: #007700">(</span><span style="color: #0000BB">__DIR__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/extra_config.xml'</span><span style="color: #007700">)) {<br />        </span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">mount</span><span style="color: #007700">(</span><span style="color: #DD0000">'extra.xml'</span><span style="color: #007700">, </span><span style="color: #0000BB">__DIR__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/extra_config.xml'</span><span style="color: #007700">);<br />    }<br />} else {<br />    </span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">mount</span><span style="color: #007700">(</span><span style="color: #DD0000">'config.xml'</span><span style="color: #007700">, </span><span style="color: #DD0000">'phar://' </span><span style="color: #007700">. </span><span style="color: #0000BB">__FILE__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/default_config.xml'</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">Phar</span><span style="color: #007700">::</span><span style="color: #0000BB">mount</span><span style="color: #007700">(</span><span style="color: #DD0000">'extra.xml'</span><span style="color: #007700">, </span><span style="color: #DD0000">'phar://' </span><span style="color: #007700">. </span><span style="color: #0000BB">__FILE__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/default_extra.xml'</span><span style="color: #007700">);<br />}<br /></span><span style="color: #FF8000">// ahora se lanza la aplicación<br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'phar://' </span><span style="color: #007700">. </span><span style="color: #0000BB">__FILE__ </span><span style="color: #007700">. </span><span style="color: #DD0000">'/index.php'</span><span style="color: #007700">;<br />__HALT_COMPILER();<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>
     ... y el código externo para cargar este archivo phar:
    </p></div>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />define</span><span style="color: #007700">(</span><span style="color: #DD0000">'EXTERNAL_CONFIG'</span><span style="color: #007700">, </span><span style="color: #DD0000">'/home/ejemplo/config.xml'</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// ahora se lanza la aplicación<br /></span><span style="color: #007700">include </span><span style="color: #DD0000">'/ruta/al/archivo.phar'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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


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