dirname

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

dirnameRestituisce il percorso di una directory padre

Descrizione

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

Data una stringa contenente il percorso di un file o una directory, questa funzione restituirà il percorso della directory padre levels più in su della directory corrente.

Nota:

dirname() opera in modo ingenuo sulla stringa d'ingresso, e senza conoscere l'attuale filesystem, o componenti del percorso come "..".

Attenzione

Su Windows, dirname() presuppone la codepage attualmente impostata, quindi affinché veda il nome di directory corretto con percorsi con caratteri multibyte, deve essere impostata la codepage corrispondente. Se path contiene caratteri non validi per la codepage corrente, il comportamento di dirname() non è definito.

Sugli altri sistemi operativi, nella funzione dirname() si presume che path dev'essere in un formato ASCII compatibile. Altrimenti il comportamnto della funzione è imprevedibile.

Elenco dei parametri

path

Un percorso.

Su Windows, sia slash (/) che backslash (\) sono usati come separatore di directory. In altri ambienti, è lo slash (/).

levels

Il numero di directory padre da risalire.

Questo dev'essere un intero maggiore di 0.

Valori restituiti

Restituisce il percorso di una directory padre. Se non ci sono slash in path, viene restituito un punto ('.'), che indica la directory corrente. In caso contrario, la stringa restituita è path con l'eventuale parte finale /component rimossa.

Attenzione

Fai attenzione quando usi questa funzione in un ciclo che può raggiungere la directory di livello superiore perché potrebbe causare un ciclo infinito.

<?php
dirname
('.'); // Restituirà '.'.
dirname('/'); // Restituirà `\` su Windows e '/' su sistemi *nix .
dirname('\\'); // Restituirà `\` su Windows e '.' su sistemi *nix.
dirname('C:\\'); // Restituirà 'C:\' su Windows e '.' su sistemi *nix.
?>

Esempi

Example #1 Esempio di 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);

Il precedente esempio visualizzerà qualcosa simile a:

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

Vedere anche:

  • basename() - Restituisce il nome del file dal percorso indicato
  • pathinfo() - Restituisce informazioni su un percorso di file
  • realpath() - Restituisce un percorso assoluto regolare