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
pathinfo(string $yol
, int $seçenekler
= PATHINFO_ALL
): array|string
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.
Bağımsız Değişkenler
-
yol
-
Bilgi toplanacak yol.
-
seçenekler
-
İsteğe bağlı seçenekler
bağımsız değişkeninde hangi
bileşenlerin döndürüleceğini
PATHINFO_DIRNAME
,
PATHINFO_BASENAME
,
PATHINFO_EXTENSION
ve
PATHINFO_FILENAME
seçeneklerinin birleşimi olarak
belirtebilirsiniz. Bir değer belirtilmezse tüm bileşenler döndürülür.
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