<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.filesystem.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.dirname.php',
    1 => 'dirname',
    2 => 'Devuelve la ruta de la carpeta padre',
  ),
  'up' => 
  array (
    0 => 'ref.filesystem.php',
    1 => 'Funciones del Sistema de Archivos',
  ),
  'prev' => 
  array (
    0 => 'function.delete.php',
    1 => 'delete',
  ),
  'next' => 
  array (
    0 => 'function.disk-free-space.php',
    1 => 'disk_free_space',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/filesystem/functions/dirname.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.dirname" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">dirname</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">dirname</span> &mdash; <span class="dc-title">Devuelve la ruta de la carpeta padre</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.dirname-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>dirname</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$path</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$levels</code><span class="initializer"> = 1</span></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Devuelve la ruta padre de un camino que representa un fichero
   o una carpeta, que corresponde a <code class="parameter">levels</code> nivel(es) más
   arriba que la carpeta actual.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    <span class="function"><strong>dirname()</strong></span> actúa de forma ingenua sobre la cadena de entrada y
    no está al tanto del sistema de archivos actual o de componentes eventuales como
    &quot;<code class="literal">..</code>&quot;.
   </p>
  </p></blockquote>
  <div class="caution"><strong class="caution">Precaución</strong>
   <p class="para">
    En Windows, <span class="function"><strong>dirname()</strong></span> asume que la página de código actualmente
    definida, por lo que para que pueda ver el nombre de carpeta correcto con caracteres
    multioctetos en el camino, la página de código correspondiente debe
    estar definida.
    Si <code class="parameter">path</code> contiene caracteres que son inválidos
    para la página de código actual, el comportamiento de <span class="function"><strong>dirname()</strong></span>
    es indefinido.
   </p>
   <p class="para">
    En otros sistemas, <span class="function"><strong>dirname()</strong></span> asume que <code class="parameter">path</code>
    está codificado en un codificación compatible con ASCII. De lo contrario, el comportamiento de la
    función es indefinido.
   </p>
  </div>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.dirname-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">path</code></dt>
     <dd>
      <p class="para">
       Un camino.
      </p>
      <p class="para">
       En Windows, las barras (/<code class="literal">/</code>) y backslash
       (<code class="literal">\</code>) se utilizan como separadores
       de carpeta. En otros entornos, solo la barra
       (<code class="literal">/</code>) se utiliza.
      </p>
     </dd>
    
    
     <dt><code class="parameter">levels</code></dt>
     <dd>
      <p class="para">
       El número de carpetas padres más arriba.
      </p>
      <p class="para">
       Debe ser un integer superior a 0.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.dirname-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Devuelve la carpeta padre del camino. Si no hay ninguna barra en el camino
   <code class="parameter">path</code>, un punto (&#039;<code class="literal">.</code>&#039;) será
   devuelto, indicando la carpeta actual. De lo contrario, la cadena devuelta
   será el camino <code class="parameter">path</code> del cual se habrán eliminado todos
   los <code class="literal">/component</code>.
  </p>

  <div class="caution"><strong class="caution">Precaución</strong>
   <p class="para">
    Se debe tener cuidado al utilizar esta función en un ciclo que pueda alcanzar la
    carpeta raíz, ya que esto puede producir un ciclo infinito.
    <div class="informalexample">
     <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">'.'</span><span style="color: #007700">);    </span><span style="color: #FF8000">// Devolverá '.'.<br /></span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">'/'</span><span style="color: #007700">);    </span><span style="color: #FF8000">// Devolverá `\` en Windows y '/' en sistemas *nix.<br /></span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">'\\'</span><span style="color: #007700">);   </span><span style="color: #FF8000">// Devolverá `\` en Windows y '.' en sistemas *nix.<br /></span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">'C:\\'</span><span style="color: #007700">); </span><span style="color: #FF8000">// Devolverá 'C:\' en Windows y '.' en sistemas *nix.<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

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


 <div class="refsect1 examples" id="refsect1-function.dirname-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>dirname()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">"/etc/passwd"</span><span style="color: #007700">) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">"/etc/"</span><span style="color: #007700">) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">"."</span><span style="color: #007700">) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">"C:\\"</span><span style="color: #007700">) . </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">dirname</span><span style="color: #007700">(</span><span style="color: #DD0000">"/usr/local/lib"</span><span style="color: #007700">, </span><span style="color: #0000BB">2</span><span style="color: #007700">);</span></span></code></div>
    </div>

    <div class="example-contents"><p>Resultado del ejemplo anterior es similar a:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">/etc
/ (o \ en Windows)
.
C:\
/usr</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.dirname-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.basename.php" class="function" rel="rdfs-seeAlso">basename()</a> - Devuelve el nombre del componente final de una ruta</span></li>
    <li><span class="function"><a href="function.pathinfo.php" class="function" rel="rdfs-seeAlso">pathinfo()</a> - Devuelve informaci&oacute;n sobre una ruta del sistema</span></li>
    <li><span class="function"><a href="function.realpath.php" class="function" rel="rdfs-seeAlso">realpath()</a> - Retorna la ruta de acceso can&oacute;nica absoluta</span></li>
   </ul>
  </p>
 </div>


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