pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Bir dosya yolu hakkında bilgi döndürür
Açıklama
Bilginize:
Geçerli dosya yolu bilgisinin alınması hakkında daha ayrıntılı bilgi
edinmek için
Öntanımlı Değişkenler bölümü okunabilir.
Bilginize:
pathinfo() safça girdi dizgesi üzerinde çalışır, dosya
sisteminden ve ".." gibi bileşenlerden haberi yoktur.
Bilginize:
Yalnızca Windows sistemlerinde, \ karakteri bir dizin
ayırıcı olarak yorumlanır. Diğer sistemlerde ise herhangi bir karakter
gibi ele alınır.
Dikkat
pathinfo() yereli de bilmez, bundan dolayı çok baytlı
karakterler içeren dosya yollarından doğru bileşeni ayırabilmesi için
eşleşen yerelin setlocale() işlevi kullanılarak
atanması gerekir.
Dönen Değerler
seçenekler bağımsız değişkeni atlanırsa dönen ilişkisel
dizi şu bileşenleri içerir: dirname (dizin ismi),
basename (uzantısız isim), extension
(uzantı) ve filename (dosya ismi).
Bilginize:
yol birden fazla uzantı içeriyorsa
PATHINFO_EXTENSION seçeneği ile yalnızca sonuncusu
dönerken PATHINFO_FILENAME seçeneğinde ise sadece
sonuncu uzantı kırpılır. Aşağıdaki örneğe bakınız.
Bilginize:
yol bir uzantı içermiyorsa dönen dizi
extension elemanını içermez.
Aşağıdaki örneğe bakınız.
Bilginize:
yol'un basename elemanı bir
nokta ile başlıyorsa, noktadan sonrası extension
elemanına aktarılır, filename elemanı ise boş kalır.
Aşağıdaki örneğe bakınız.
Eğer seçenekler belirtilirse ve tüm bileşenler
istenmemişse işlev bir ilişkisel dizi değil, bir dizge döndürür.
Örnekler
Örnek 1 - pathinfo() örneği
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n";
?>
Yukarıdaki örneğin çıktısı:
/www/htdocs/inc
lib.inc.php
php
lib.inc
Örnek 2 - Uzantısız ve boş uzantılı farkını gösteren
pathinfo() örneği
<?php
$path_parts = pathinfo('/yol/bosuzanti.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/yol/yokuzanti');
var_dump($path_parts['extension']);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
string(0) ""
Notice: Undefined index: extension in test.php on line 6
NULL
Örnek 3 - pathinfo() ve uzantı-dosya
<?php
print_r(pathinfo('/some/path/.test'));
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Array
(
[dirname] => /some/path
[basename] => .test
[extension] => test
[filename] =>
)
Örnek 4 - pathinfo() dizi başvurusunu kaldırma örneği
seçenekler bit maskesi değildir. Tek bir değer
aktarılabilir. Yalnızca çözümlenmiş değerlerden oluşan sınırlı bir
değer kümesini seçmek için dizi yıkımı şu şekilde kullanılabilir:
<?php
['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');
var_dump($basename, $dirname);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
string(11) "lib.inc.php"
string(15) "/www/htdocs/inc"
Ayrıca Bakınız
- dirname() - Üst dizinin yolunu döndürür
- basename() - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
- parse_url() - Bir URL'yi bileşenlerine ayırır
- realpath() - Normalleştirilmiş mutlak dosya yolunu döndürür