dirname

(PHP 4, PHP 5, PHP 7, PHP 8)

dirnameDevuelve la ruta de la carpeta padre

Descripción

dirname(string $path, int $levels = 1): string

Devuelve la ruta padre de un camino que representa un fichero o una carpeta, que corresponde a levels nivel(es) más arriba que la carpeta actual.

Nota:

dirname() 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 "..".

Precaución

En Windows, dirname() 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 path contiene caracteres que son inválidos para la página de código actual, el comportamiento de dirname() es indefinido.

En otros sistemas, dirname() asume que path está codificado en un codificación compatible con ASCII. De lo contrario, el comportamiento de la función es indefinido.

Parámetros

path

Un camino.

En Windows, las barras (//) y antislash (\) se utilizan como separadores de carpeta. En otros entornos, solo la barra (/) se utiliza.

levels

El número de carpetas padres más arriba.

Debe ser un integer superior a 0.

Valores devueltos

Devuelve la carpeta padre del camino. Si no hay ninguna barra en el camino path, un punto ('.') será devuelto, indicando la carpeta actual. De lo contrario, la cadena devuelta será el camino path del cual se habrán eliminado todos los /component.

Precaución

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.

<?php
dirname
('.'); // Devolverá '.'.
dirname('/'); // Devolverá `\` en Windows y '/' en sistemas *nix.
dirname('\\'); // Devolverá `\` en Windows y '.' en sistemas *nix.
dirname('C:\\'); // Devolverá 'C:\' en Windows y '.' en sistemas *nix.
?>

Ejemplos

Ejemplo #1 Ejemplo con dirname()

<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo
dirname("/etc/") . PHP_EOL;
echo
dirname(".") . PHP_EOL;
echo
dirname("C:\\") . PHP_EOL;
echo
dirname("/usr/local/lib", 2);

El resultado del ejemplo sería algo similar a:

/etc
/ (o \ en Windows)
.
C:\
/usr

Ver también

  • basename() - Devuelve el nombre del componente final de una ruta
  • pathinfo() - Devuelve información acerca de la ruta de un fichero
  • realpath() - Devuelve el nombre de la ruta absoluta canonizado