(PHP 4, PHP 5, PHP 7, PHP 8)
dirname — Üst dizinin yolunu döndürür
Bir dosyanın veya dizinin yolunu içeren bir dizge verildiğinde, bu işlev
en alt seviyedeki dizinden seviye
sayıda üstte
bulunan dizinin yolunu döndürür.
Bilginize:
dirname() safça girdi dizgesi üzerinde çalışır, ne dosya sistemini ne de "
..
" gibi yol bileşenlerini bilir.
Windows üzerinde, dirname() geçerli olarak ayarlanmış
kod sayfasına göre davranır, bu nedenle çok baytlı karakter yollarında
doğru dizin adını görmesi için eşleşen kod sayfasının ayarlanması gerekir.
yol
, mevcut kod sayfası için geçersiz karakterler
içeriyorsa,dirname() işlevinin davranışı tanımsızdır.
Diğer sistemlerde dirname(),
yol
un ASCII uyumlu kodlamayla kodlanacağını
varsayar. Aksi takdirde, işlevin davranışı tanımsızdır.
yol
Dosya yolu.
Dizin ayırma karakteri olarak Windows üzerinde hem bölü
(/
) hem de ters bölü (\
) çizgisi
kullanılabilirken diğer ortamlarda sadece bölü (/
)
çizgisi kullanılabilir.
seviye
Üstteki dizinlerin seviyesi.
Sıfırdan büyük bir tamsayı olmalıdır.
Üst dizinin yolunu döndürür. yol
bağımsız değişkeni
hiç bölü çizgisi içermiyorsa, içinde bulunulan dizin anlamında tek bir
nokta ('.') döner. Aksi takdirde yol
dizgesi son
/bileşen
kaldırılarak döndürülülür.
Bu işlevi kök dizine ulaşabilen bir döngüde kullanırken dikkatli olun, çünkü bu sonsuz bir döngüye sebep olabilir.
<?php
dirname('.'); // '.' döner
dirname('/'); // Windows'ta `\` ve *nix'lerde '/'
dirname('\\'); // Windows'ta `\` ve *nix'lerde '.'
dirname('C:\\'); // Windows'ta 'C:\' ve *nix'lerde '.'
?>
Sürüm: | Açıklama |
---|---|
7.0.0 |
seviye bağımsız değişkeni eklendi.
|
Örnek 1 - dirname() örneği
<?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);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
/etc / (veya Windows üzerinde \) . C:\ /usr