Funciones del Sistema de Archivos
PHP Manual

dirname

(PHP 4, PHP 5, PHP 7)

dirnameDevuelve la ruta de un directorio padre

Descripción

string dirname ( string $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.

Parámetros

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.

Valores devueltos

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.

Historial de cambios

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

Ejemplos

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

Notas

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 '\'

?>

Ver también


Funciones del Sistema de Archivos
PHP Manual