(PHP 4, PHP 5, PHP 7, PHP 8)
dirname — Restituisce il percorso di una directory padre
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 "
..".
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.
pathUn percorso.
Su Windows, sia slash (/) che backslash
(\) sono usati come separatore di directory. In
altri ambienti, è lo slash (/).
levelsIl numero di directory padre da risalire.
Questo dev'essere un intero maggiore di 0.
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.
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.
?>
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