PHP.nl

dirname

dirname

Returns a parent directory's path

string **dirname** string $path int $levels

Given a string containing the path of a file or directory, this function will return the parent directory's path that is up from the current directory. levels

Opmerking: > operates naively on the input string, and is not aware of the actual filesystem, or path components such as "". dirname``..

Let op: > On Windows, assumes the currently set codepage, so for it to see the correct directory name with multibyte character paths, the matching codepage must be set. If contains characters which are invalid for the current codepage, the behavior of is undefined. dirname``path``dirname

On other systems,  assumes 
to be encoded in an ASCII compatible encoding. Otherwise, the behavior of
the function is undefined.

dirname``path

pathA path.

   On Windows, both slash () and backslash
   () are used as directory separator character. In
   other environments, it is the forward slash ().
  `/``\``/`

levelsThe number of parent directories to go up.

This must be an integer greater than 0.

Returns the path of a parent directory. If there are no slashes in , a dot ('') is returned, indicating the current directory. Otherwise, the returned string is with any trailing removed. path``.``path``/component

Let op: > Be careful when using this function in a loop that can reach the top-level directory as this can result in an infinite loop.

<?php
dirname('.');    // Will return '.'.
dirname('/');    // Will return `\` on Windows and '/' on *nix systems.
dirname('\\');   // Will return `\` on Windows and '.' on *nix systems.
dirname('C:\\'); // Will return 'C:\' on Windows and '.' on *nix systems.
?>

Voorbeeld: example

<?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);
/etc
/ (or \ on Windows)
.
C:\
/usr

basename``pathinfo``realpath