dirname în PHP

Directoare și căi PHP 4+ (parametrul $levels: PHP 7.0+)

Returnează directorul părinte al unei căi.

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

Ce face dirname

dirname taie ultima parte a căii și returnează ce rămâne. Cu al doilea parametru urci mai multe niveluri deodată.

Combinat cu __DIR__ (directorul fișierului curent), îți dă rădăcina proiectului: dirname(__DIR__) este directorul de deasupra.

Parametri

Parametru Descriere
$path Calea.
$levels Opțional. Câte niveluri să urce. Implicit 1.

Ce returnează

Calea directorului părinte. Pentru un nume fără director returnează . (directorul curent).

Exemple

Exemplul 1: Unul și două niveluri

<?php
$cale = "/var/www/site/public/index.php";

echo dirname($cale) . "\n";
echo dirname($cale, 2) . "\n";
echo dirname("poza.jpg");

Rezultat

/var/www/site/public
/var/www/site
.

Exemplul 2: Calea către directorul de configurare

Pe server, în loc de textul fix ai scrie dirname(__DIR__).

<?php
$public = "/var/www/site/public";

$config = dirname($public) . "/config/baza.php";
echo $config;

Rezultat

/var/www/site/config/baza.php

Greșeli frecvente

  • Construiești căi cu "../" lipit de text. Calea depinde de directorul din care rulează scriptul. dirname(__DIR__) este mereu corect.

Comenzi înrudite

  • basename: Returnează doar numele fișierului dintr-o cale, fără directoare.
  • pathinfo: Împarte o cale de fișier în director, nume complet, nume fără extensie și extensie.
  • realpath: Transformă o cale relativă într-o cale absolută, fără ../ și fără scurtături.
  • require / include: Încarcă și rulează codul dintr-un alt fișier PHP.