(PHP 4, PHP 5, PHP 7)
dirname — Devuelve la ruta de un directorio padre
$path
[, int $levels
= 1
] )
Dada una cadena que contiene la ruta a un fichero o directorio, esta función
devolverá la ruta del directorio padre que está a
levels
niveles del directorio actual.
path
Una ruta.
En Windows, la barra (/) y la barra invertida (\) se usan como carácter separador de directorio. En otros entornos se usa la barra hacia delante (/).
levels
El número de directorios padre a subir.
Debe ser un número entero mayor que 0.
Devuelve la ruta de un directorio padre. Si no hay barras en
path
, será devuelto un punto ('.'),
indicando el directorio actual. De otro modo, la cadena devuelta es
path
con cualquier
/componente final eliminado.
Versión | Descripción |
---|---|
7.0.0 |
Añadido el parámetro opcional levels .
|
5.0.0 | dirname() ahora es segura al trabajar con datos binarios |
Ejemplo #1 Ejemplo de dirname()
<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
El resultado del ejemplo sería algo similar a:
/etc / (o \ en Windows) . /usr
Nota:
dirname() opera de forma ingénua con la cadena de entrada, y no es consciente del sistema de ficheros o los componentes de la ruta como "..".
Nota:
dirname() usa la configuración de idioma local, para poder ver de forma correcta el nombre de directorio con caracteres multibyte en la ruta, se definir la misma configuración local usando la función setlocale().
Nota:
A partir de PHP 4.3.0, a menudo querrá obtener una barra o un punto de dirname() es situaciones donde la funcionalidad anterior le habría dado una cadena vacía.
Revise el siguiente cambio de ejemplo:
<?php
//antes de PHP 4.3.0
dirname('c:/'); // devolvía '.'
//después de PHP 4.3.0
dirname('c:/x'); // devuelve 'c:\'
dirname('c:/Temp/x'); // devuelve 'c:/Temp'
dirname('/x'); // devuelve '\'
?>